{ "openapi": "3.0.3", "info": { "description": "Integrate tracking shows with Kurozora content.\n *** \nThe Kurozora API is a web service that lets you access information about the media found in the Kurozora Catalog and the user's personal Kurozora Library. Here's what each one includes:\n- The Kurozora Catalog includes all resources available in Kurozora.\n- The user's Kurozora Library contains only those resources that the user added to their personal library. For example, it contains shows added to their tracking list, and favorites.\n\nUse this service to retrieve information about people, characters, episodes, genres, shows, studios, threads, users, and the users' library.\nWith proper authorization from the user, you can also create or modify their library, apply ratings to shows, create or modify threads and vote on replies.", "version": "1.2.0", "title": "Kurozora API", "termsOfService": "https://swagger.io/terms/", "contact": { "email": "kurozoraapp@gmail.com" }, "license": { "name": "Apache 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0.html" } }, "servers": [ { "url": "https://kurozora.app/api/v1", "description": "Kurozora LIVE" }, { "url": "http://kurozora-web.test/api/v1", "description": "Kurozora LOCAL" } ], "tags": [ { "name": "explore", "description": "Everything explore page related" }, { "name": "anime", "description": "Everything anime related" }, { "name": "anime-seasons", "description": "Everything anime seasons related" }, { "name": "anime-episodes", "description": "Everything anime episodes related" }, { "name": "characters", "description": "Everything character related" }, { "name": "genres", "description": "Everything genre related" }, { "name": "people", "description": "Everything people related" }, { "name": "studios", "description": "Everything studio related" }, { "name":"feed", "description":"Everything feed related" }, { "name": "forum-sections", "description": "Everything forum sections related" }, { "name": "forum-threads", "description": "Everything forum threads related" }, { "name": "forum-replies", "description": "Everything forum replies related" }, { "name": "me", "description": "Endpoints related to the authenticated user." }, { "name": "users", "description": "Everything user related" }, { "name": "themes", "description": "Everything theme related" }, { "name": "store", "description": "All store endpoints" }, { "name": "legal", "description": "All legal endpoints" }, { "name": "misc", "description": "All other endpoints" } ], "paths": { "/explore": { "get": { "security": [ { }, { "kurozoraBearer": [ ] } ], "tags": [ "explore" ], "operationId": "getExplore", "summary": "(optional authentication) Explore page.", "description": "This endpoint will retrieve the details to for the explore page.", "parameters": [ { "in": "query", "name": "genre_id", "schema": { "type": "integer" }, "required": false, "description": "ID of the genre to filter on." } ], "responses": { "200": { "$ref": "#/components/responses/JSONSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}": { "get": { "security": [ { }, { "kurozoraBearer": [ ] } ], "tags": [ "anime" ], "operationId": "getAnime", "summary": "(optional authentication) Anime details.", "description": "This endpoint will retrieve the details of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." }, { "in": "query", "name": "include", "schema": { "type": "array", "items": { "type": "string" }, "uniqueItems": true }, "explode": false, "required": false, "description": "The relations to include in the response. Available relations are:\n- cast\n- characters\n- related-shows\n- seasons\n- staff\n- studios" } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/cast": { "get": { "tags": [ "anime" ], "operationId": "getAnimeCast", "summary": "Anime cast information.", "description": "This endpoint will retrieve the casts of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeCastSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/characters": { "get": { "tags": [ "anime" ], "operationId": "getAnimeCharacters", "summary": "Anime character information.", "description": "This endpoint will retrieve the characters of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeCharactersSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/related-shows": { "get": { "security": [ { "kurozoraBearer": [ ] } ], "tags": [ "anime" ], "operationId": "getAnimeRelatedShows", "summary": "Anime related-shows information.", "description": "This endpoint will retrieve the related-shows of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeRelatedShowsSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/rate": { "post": { "security": [ { "kurozoraBearer": [ ] } ], "tags": [ "anime" ], "operationId": "postAnimeRate", "summary": "Rate an Anime.", "description": "This endpoint will allow user's to leave a rating for an Anime.", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "properties": { "rating": { "type": "number", "format": "double", "description": "The rating to leave.", "example": 3.5, "minimum": 1, "maximum": 5 } }, "required": [ "rating" ] } } } }, "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/JSONSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/seasons": { "get": { "tags": [ "anime" ], "operationId": "getAnimeSeasons", "summary": "Anime all seasons information.", "description": "This endpoint will retrieve the seasons of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeSeasonsSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/staff": { "get": { "tags": [ "anime" ], "operationId": "getAnimeStaff", "summary": "Anime staff information.", "description": "This endpoint will retrieve the staff of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeStaffSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/{animeID}/studios": { "get": { "tags": [ "anime" ], "operationId": "getAnimeStudios", "summary": "Anime studio information.", "description": "This endpoint will retrieve the studios of an Anime item.", "parameters": [ { "in": "path", "name": "animeID", "schema": { "type": "integer" }, "required": true, "description": "ID of the anime." } ], "responses": { "200": { "$ref": "#/components/responses/GetAnimeStudiosSuccess" }, "400": { "$ref": "#/components/responses/JSONError" } } } }, "/anime/search": { "get": { "security": [ { }, { "kurozoraBearer": [ ] } ], "tags": [ "anime" ], "operationId": "getAnimeSearch", "summary": "(optional authentication) Searches Anime.", "description": "This endpoint will retrieve the search results for Anime.\n