{
  "openapi": "3.1.0",
  "info": {
    "title": "Novels API",
    "version": "1.0.0",
    "description": "East Asian novels catalogue with genres, status and authors, from classics to web novels.\n\nCatalogue of East Asian novels, from classics to contemporary web novels, with titles, descriptions, genres, status and authors. Search the catalogue or look up a title by id.",
    "contact": {
      "name": "Data and APIs",
      "url": "https://dataandapis.com/contact"
    },
    "termsOfService": "https://dataandapis.com/terms-of-service",
    "license": {
      "name": "Data and APIs Terms of Service",
      "url": "https://dataandapis.com/terms-of-service"
    },
    "x-logo": {
      "url": "https://dataandapis.com/images/novel.webp"
    }
  },
  "externalDocs": {
    "description": "Documentation, live tester and pricing",
    "url": "https://dataandapis.com/apis/novel"
  },
  "servers": [
    {
      "url": "https://novel.dataandapis.com"
    }
  ],
  "tags": [
    {
      "name": "Entertainment",
      "description": "Novels API belongs to the Entertainment category of the Data and APIs catalog."
    }
  ],
  "paths": {
    "/v1/novels/{id}": {
      "get": {
        "operationId": "getNovelById",
        "summary": "Get Novel By Id",
        "description": "Get Novel By Id endpoint of the Novels API. Costs 2 tokens per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/novel/get-novel-by-id"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "3"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "textDetailId": 3,
                  "name": "I Shall Seal the Heavens",
                  "slug": "i-shall-seal-the-heavens",
                  "description": "What I want, the Heavens shall not lack! What I don’t want, had better not exist in the Heavens!” This is a story which originates between the Eighth and Ninth Mountains, the world in which the strong prey upon the weak. “My Name is Meng Hao! The Ninth Generation Demon Sealer, I shall seal the Heavens!! “",
                  "status": "Completed",
                  "locale": "en_US",
                  "alternativeNames": null
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    },
    "/v1/novels": {
      "get": {
        "operationId": "novel",
        "summary": "Novel",
        "description": "Novel endpoint of the Novels API. Costs 2 tokens per call.",
        "externalDocs": {
          "url": "https://dataandapis.com/apis/novel/novel"
        },
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "1"
          },
          {
            "name": "pageSize",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "2"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "items": [
                    {
                      "textDetailId": 1,
                      "name": "Rise of the Great Emperor",
                      "slug": "rise-of-the-great-emperor",
                      "description": "Lin Xiao was an orphan who strived to get stronger while living with his sickly younger brother in an unnamed small village.\n\nWhen Taiyi Sect was destroyed in 245 of Tiancang year, he was pulled into the battle as one survivor, an outer disciple who was lucky enough to escape the massacre, landed on his place.\n\nThe meeting led him to know the world and unexpected encounter allowed him to realize the truth of his birth, which also tell him how his 'siblings' whom he had never met before will try to kill him.\n\nThe only way to survive is to become the best, the Greatest Emperor.\n\nThus, his journey begin.",
                      "status": "Completed",
                      "locale": "en_US",
                      "alternativeNames": null
                    },
                    {
                      "textDetailId": 2,
                      "name": "Side Character Transmigrations: The Final Boss is No Joke",
                      "slug": "side-character-transmigrations-the-final-boss-is-no-joke",
                      "description": "System: Host, what is that thing in the sky?Shi Sheng: An intergalactic spaceship.System: …This is a cultivation world, where did an intergalactic spaceship come from?!—System: Host, what are you holding in your hand?Shi Sheng: Xuanyuan Sword.System: This is an advanced scientific world, where did an ancient  divine sword come from?! Wait a moment… Host what are you doing?!  Σ(°△°|||)︴Shi Sheng: Breaking apart the main couple. ヾ(^▽^*)))#MyHostIsTooPowerfulAndLikesToBreakShips#Note : ‘shipping’ is the term people use when they want two people to be a couple.",
                      "status": "Ongoing",
                      "locale": "en_US",
                      "alternativeNames": null
                    }
                  ],
                  "meta": {
                    "totalItems": 1450,
                    "itemCount": 2,
                    "itemsPerPage": 2,
                    "totalPages": 725,
                    "currentPage": 1
                  }
                }
              }
            }
          },
          "401": {
            "description": "Missing or invalid API key"
          },
          "402": {
            "description": "Subscription past due; the response carries a payment_url"
          },
          "429": {
            "description": "Monthly token allowance exhausted"
          }
        },
        "security": [
          {
            "ApiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Api-Key",
        "description": "Create a free key at https://dataandapis.com/sign-up. 500 tokens a month on the Free plan; this API costs 2 tokens per call."
      }
    }
  },
  "security": [
    {
      "ApiKey": []
    }
  ]
}