{ "openapi": "3.0.1", "info": { "description": "Komga REST API.\n\n## Reference\n\nCheck the API reference:\n- on the [Komga website](https://komga.org/docs/openapi/komga-api)\n- on any running Komga instance at `/swagger-ui.html`\n- on [GitHub](https://raw.githubusercontent.com/gotson/komga/refs/heads/master/komga/docs/openapi.json)\n\n## Authentication\n\nMost endpoints require authentication. Authentication is done using either:\n- Basic Authentication\n- Passing an API Key in the `X-API-Key` header\n\n## Sessions\n\nUpon successful authentication, a session is created, and can be reused.\n\n- By default, a `KOMGA-SESSION` cookie is set via `Set-Cookie` response header. This works well for browsers and clients that can handle cookies.\n- If you specify a header `X-Auth-Token` during authentication, the session ID will be returned via this same header. You can then pass that header again for subsequent requests to reuse the session.\n\nIf you need to set the session cookie later on, you can call `/api/v1/login/set-cookie` with `X-Auth-Token`. The response will contain the `Set-Cookie` header.\n\n## Remember Me\n\nDuring authentication, if a request parameter `remember-me` is passed and set to `true`, the server will also return a `komga-remember-me` cookie. This cookie will be used to login automatically even if the session has expired.\n\n## Logout\n\nYou can explicitly logout an existing session by calling `/api/logout`. This would return a `204`.\n\n## Deprecation\n\nAPI endpoints marked as deprecated will be removed in the next major version.", "license": { "name": "MIT", "url": "https://github.com/gotson/komga/blob/master/LICENSE" }, "title": "Komga API", "version": "1.21.2" }, "externalDocs": { "description": "Komga documentation", "url": "https://komga.org" }, "servers": [ { "url": "https://demo.komga.org", "description": "Demo server" }, { "url": "http://localhost:{port}", "description": "Local development server", "variables": { "port": { "enum": [ "8080", "25600" ], "default": "25600" } } } ], "security": [ { "basicAuth": [] }, { "apiKey": [] } ], "tags": [ { "name": "Deprecated" }, { "description": "Manage libraries.", "name": "Libraries" }, { "description": "Manage series.", "name": "Series" }, { "description": "Manage posters for series.", "name": "Series Poster" }, { "description": "Manage books.", "name": "Books" }, { "description": "Manage posters for books.", "name": "Book Poster" }, { "name": "Book Pages" }, { "name": "WebPub Manifest" }, { "name": "Import" }, { "description": "Provide font files and CSS for the Epub Reader.", "name": "Fonts" }, { "description": "Manage duplicate pages. Duplicate pages are identified by a page hash.", "name": "Duplicate Pages" }, { "description": "Manage collections.", "name": "Collections" }, { "description": "Manage posters for collections.", "name": "Collection Poster" }, { "name": "Collection Series" }, { "description": "Manage readlists.", "name": "Readlists" }, { "description": "Manage posters for readlists.", "name": "Readlist Poster" }, { "name": "Readlist Books" }, { "description": "Retrieve referential metadata from all items in the Komga server.", "name": "Referential metadata" }, { "description": "Manage current user.", "name": "Current user" }, { "description": "Manage users.", "name": "Users" }, { "description": "Manage API Keys", "name": "API Keys" }, { "name": "User session" }, { "description": "List registered OAuth2 providers", "name": "OAuth2" }, { "description": "Sync points are automatically created during a Kobo sync.", "name": "Sync points" }, { "description": "Claim a freshly installed Komga server.", "name": "Claim server" }, { "description": "Manage server tasks", "name": "Tasks" }, { "description": "Server events history", "name": "History" }, { "description": "List files from the host server\u0027s file system", "name": "File system" }, { "description": "Store and retrieve server settings", "name": "Server settings" }, { "description": "Retrieve releases information", "name": "Releases" }, { "description": "Retrieve announcements from the Komga website", "name": "Announcements" }, { "name": "Mihon" }, { "name": "ComicRack" }, { "description": "Store and retrieve global and per-user settings. Those settings are not used by Komga itself, but can be stored for convenience by client applications.", "name": "Client settings" } ], "paths": { "/api/logout": { "get": { "description": "Invalidates the current session and clean up any remember-me authentication.", "operationId": "postLogout", "responses": { "204": { "description": "No Content" } }, "summary": "Logout", "tags": [ "User session" ] }, "post": { "description": "Invalidates the current session and clean up any remember-me authentication.", "operationId": "postLogout_1", "responses": { "204": { "description": "No Content" } }, "summary": "Logout", "tags": [ "User session" ] }, "summary": "Logout current session" }, "/api/v1/age-ratings": { "get": { "description": "Can be filtered by various criteria", "operationId": "getAgeRatings", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List age ratings", "tags": [ "Referential metadata" ] } }, "/api/v1/announcements": { "get": { "description": "Required role: **ADMIN**", "operationId": "getAnnouncements", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JsonFeedDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve announcements", "tags": [ "Announcements" ] }, "put": { "description": "Required role: **ADMIN**", "operationId": "markAnnouncementsRead", "requestBody": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark announcements as read", "tags": [ "Announcements" ] } }, "/api/v1/authors": { "get": { "deprecated": true, "description": "Use GET /api/v2/authors instead. Deprecated since 1.20.0.", "operationId": "getAuthorsV1", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string", "default": "" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "series_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/AuthorDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List authors", "tags": [ "Deprecated", "Referential metadata" ] } }, "/api/v1/authors/names": { "get": { "operationId": "getAuthorsNames", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string", "default": "" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List authors\u0027 names", "tags": [ "Referential metadata" ] } }, "/api/v1/authors/roles": { "get": { "operationId": "getAuthorsRoles", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List authors\u0027 roles", "tags": [ "Referential metadata" ] } }, "/api/v1/books": { "get": { "deprecated": true, "description": "Use POST /api/v1/books/list instead. Deprecated since 1.19.0.", "operationId": "getAllBooks", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "media_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNKNOWN", "ERROR", "READY", "UNSUPPORTED", "OUTDATED" ] } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "released_after", "required": false, "schema": { "type": "string", "format": "date" } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List books", "tags": [ "Books", "Deprecated" ] } }, "/api/v1/books/duplicates": { "get": { "description": "Return books that have the same file hash.\n\nRequired role: **ADMIN**", "operationId": "getDuplicateBooks", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List duplicate books", "tags": [ "Books" ] } }, "/api/v1/books/import": { "post": { "description": "Required role: **ADMIN**", "operationId": "importBooks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookImportBatchDto" } } }, "required": true }, "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Import books", "tags": [ "Import" ] } }, "/api/v1/books/latest": { "get": { "description": "Return newly added or updated books.", "operationId": "getLatestBooks", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List latest books", "tags": [ "Books" ] } }, "/api/v1/books/list": { "post": { "operationId": "getBooksList", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookSearch" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List books", "tags": [ "Books" ] } }, "/api/v1/books/metadata": { "patch": { "description": "Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update.\n\nRequired role: **ADMIN**", "operationId": "updateBatchMetadata", "requestBody": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/BookMetadataUpdateDto" }, "description": "A map of book IDs which values are the metadata fields to update. Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update." } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update book metadata in bulk", "tags": [ "Books" ] } }, "/api/v1/books/ondeck": { "get": { "description": "Return first unread book of series with at least one book read and no books in progress.", "operationId": "getBooksOnDeck", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List books on deck", "tags": [ "Books" ] } }, "/api/v1/books/thumbnails": { "put": { "description": "Required role: **ADMIN**", "operationId": "regenerateThumbnails", "parameters": [ { "in": "query", "name": "for_bigger_result_only", "required": false, "schema": { "type": "boolean" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Regenerate books posters", "tags": [ "Book Poster" ] } }, "/api/v1/books/{bookId}": { "get": { "operationId": "getOneBook", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book details", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/analyze": { "post": { "description": "Required role: **ADMIN**", "operationId": "analyze_3", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Analyze book", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/file": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteBookFile", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete book file", "tags": [ "Books" ] }, "get": { "description": "Download the book file.\n\nRequired role: **FILE_DOWNLOAD**", "operationId": "getBookFile", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Download book file", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/file/*": { "get": { "description": "Download the book file.\n\nRequired role: **FILE_DOWNLOAD**", "operationId": "getBookFile_1", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Download book file", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/manifest": { "get": { "operationId": "getWebPubManifest", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/divina+json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } }, "application/json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } }, "application/webpub+json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book\u0027s WebPub manifest", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/manifest/divina": { "get": { "operationId": "getWebPubManifestDivina", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/divina+json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } }, "application/json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book\u0027s WebPub manifest (DiViNa)", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/manifest/epub": { "get": { "operationId": "getWebPubManifestEpub", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } }, "application/webpub+json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book\u0027s WebPub manifest (Epub)", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/manifest/pdf": { "get": { "operationId": "getWebPubManifestPdf", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } }, "application/webpub+json": { "schema": { "$ref": "#/components/schemas/WPPublicationDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book\u0027s WebPub manifest (PDF)", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/metadata": { "patch": { "description": "Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update.\n\nRequired role: **ADMIN**", "operationId": "updateMetadata_1", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookMetadataUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update book metadata", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/metadata/refresh": { "post": { "description": "Required role: **ADMIN**", "operationId": "refreshMetadata_2", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Refresh book metadata", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/next": { "get": { "operationId": "getBookSiblingNext_1", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get next book in series", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/pages": { "get": { "operationId": "getBookPages", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PageDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List book pages", "tags": [ "Book Pages" ] } }, "/api/v1/books/{bookId}/pages/{pageNumber}": { "get": { "description": "Required role: **PAGE_STREAMING**", "operationId": "getBookPage", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "pageNumber", "required": true, "schema": { "type": "integer", "format": "int32" } }, { "description": "Convert the image to the provided format.", "in": "query", "name": "convert", "required": false, "schema": { "type": "string", "enum": [ "jpeg", "png" ] } }, { "description": "If set to true, pages will start at index 0. If set to false, pages will start at index 1.", "in": "query", "name": "zero_based", "required": false, "schema": { "type": "boolean", "default": false } }, { "description": "Some very limited server driven content negotiation is handled. If a book is a PDF book, and the Accept header contains \u0027application/pdf\u0027 as a more specific type than other \u0027image/\u0027 types, a raw PDF page will be returned.", "in": "header", "name": "Accept", "required": false, "schema": { "type": "array", "items": { "$ref": "#/components/schemas/MediaType" } } }, { "in": "query", "name": "contentNegotiation", "required": false, "schema": { "type": "boolean", "default": true } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "image/*": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get book page image", "tags": [ "Book Pages" ] } }, "/api/v1/books/{bookId}/pages/{pageNumber}/raw": { "get": { "description": "Returns the book page in raw format, without content negotiation.\n\nRequired role: **PAGE_STREAMING**", "operationId": "getBookPageRaw", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "pageNumber", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "string", "format": "byte" } }, "application/json": { "schema": { "type": "string", "format": "byte" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get raw book page", "tags": [ "Book Pages" ] } }, "/api/v1/books/{bookId}/pages/{pageNumber}/thumbnail": { "get": { "description": "The image is resized to 300px on the largest dimension.", "operationId": "getBookPageThumbnail", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "pageNumber", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get book page thumbnail", "tags": [ "Book Pages" ] } }, "/api/v1/books/{bookId}/positions": { "get": { "description": "The Positions API is a proposed standard for OPDS 2 and Readium. It is used by the Epub Reader.", "operationId": "getPositions", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R2Positions" } }, "application/vnd.readium.position-list+json": { "schema": { "$ref": "#/components/schemas/R2Positions" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List book\u0027s positions", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/previous": { "get": { "operationId": "getBookSiblingPrevious_1", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get previous book in series", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/progression": { "get": { "description": "The Progression API is a proposed standard for OPDS 2 and Readium. It is used by the Epub Reader.", "operationId": "getProgression", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R2Progression" } }, "application/vnd.readium.progression+json": { "schema": { "$ref": "#/components/schemas/R2Progression" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get book progression", "tags": [ "WebPub Manifest" ] }, "put": { "description": "The Progression API is a proposed standard for OPDS 2 and Readium. It is used by the Epub Reader.", "operationId": "markProgression", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R2Progression" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark book progression", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/read-progress": { "delete": { "description": "Mark book as unread", "operationId": "deleteReadProgress", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark book as unread", "tags": [ "Books" ] }, "patch": { "description": "Mark book as read and/or change page progress.", "operationId": "markReadProgress", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadProgressUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark book\u0027s read progress", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/readlists": { "get": { "operationId": "getAllReadListsByBook", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReadListDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List book\u0027s readlists", "tags": [ "Books" ] } }, "/api/v1/books/{bookId}/resource/{resource}": { "get": { "description": "Return a resource from within an Epub book.", "operationId": "getBookResource", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "resource", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "string", "format": "byte" } }, "application/json": { "schema": { "type": "string", "format": "byte" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Get Epub resource", "tags": [ "WebPub Manifest" ] } }, "/api/v1/books/{bookId}/thumbnail": { "get": { "operationId": "getBookThumbnail", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get book\u0027s poster image", "tags": [ "Book Poster" ] } }, "/api/v1/books/{bookId}/thumbnails": { "get": { "operationId": "getBookThumbnails", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThumbnailBookDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List book posters", "tags": [ "Book Poster" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addUserUploadedBookThumbnail", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "selected", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThumbnailBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Add book poster", "tags": [ "Book Poster" ] } }, "/api/v1/books/{bookId}/thumbnails/{thumbnailId}": { "delete": { "description": "Only uploaded posters can be deleted.\n\nRequired role: **ADMIN**", "operationId": "deleteUserUploadedBookThumbnail", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete book poster", "tags": [ "Book Poster" ] }, "get": { "operationId": "getBookThumbnailById", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get book poster image", "tags": [ "Book Poster" ] } }, "/api/v1/books/{bookId}/thumbnails/{thumbnailId}/selected": { "put": { "description": "Required role: **ADMIN**", "operationId": "markSelectedBookThumbnail", "parameters": [ { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark book poster as selected", "tags": [ "Book Poster" ] } }, "/api/v1/claim": { "get": { "description": "Check whether this server has already been claimed.", "operationId": "getClaimStatus", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimStatus" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Retrieve claim status", "tags": [ "Claim server" ] }, "post": { "description": "Creates an admin user with the provided credentials.", "operationId": "claimAdmin", "parameters": [ { "in": "header", "name": "X-Komga-Email", "required": true, "schema": { "type": "string" } }, { "in": "header", "name": "X-Komga-Password", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Claim server", "tags": [ "Claim server" ] } }, "/api/v1/client-settings/global": { "delete": { "description": "Setting key should be a valid lowercase namespace string like \u0027application.domain.key\u0027\n\nRequired role: **ADMIN**", "operationId": "deleteGlobalSetting_1", "requestBody": { "content": { "application/json": { "example": [ "application.key1", "application.key2" ], "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete global settings", "tags": [ "Client settings" ] }, "patch": { "description": "Setting key should be a valid lowercase namespace string like \u0027application.domain.key\u0027\n\nRequired role: **ADMIN**", "operationId": "saveGlobalSetting", "requestBody": { "content": { "application/json": { "example": { "application.key1": { "value": "a string value", "allowUnauthorized": true }, "application.key2": { "value": "{\"json\":\"object\"}", "allowUnauthorized": false } }, "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ClientSettingGlobalUpdateDto" } } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Save global settings", "tags": [ "Client settings" ] } }, "/api/v1/client-settings/global/list": { "get": { "description": "For unauthenticated users, only settings with \u0027allowUnauthorized\u003dtrue\u0027 will be returned.", "operationId": "getGlobalSettings", "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ClientSettingDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Retrieve global client settings", "tags": [ "Client settings" ] } }, "/api/v1/client-settings/user": { "delete": { "description": "Setting key should be a valid lowercase namespace string like \u0027application.domain.key\u0027", "operationId": "deleteGlobalSetting", "requestBody": { "content": { "application/json": { "example": [ "application.key1", "application.key2" ], "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete user settings", "tags": [ "Client settings" ] }, "patch": { "description": "Setting key should be a valid lowercase namespace string like \u0027application.domain.key\u0027", "operationId": "saveUserSetting", "requestBody": { "content": { "application/json": { "example": { "application.key1": { "value": "a string value" }, "application.key2": { "value": "{\"json\":\"object\"}" } }, "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ClientSettingUserUpdateDto" } } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Save user settings", "tags": [ "Client settings" ] } }, "/api/v1/client-settings/user/list": { "get": { "operationId": "getUserSettings", "responses": { "200": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ClientSettingDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve user client settings", "tags": [ "Client settings" ] } }, "/api/v1/collections": { "get": { "operationId": "getAll_3", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageCollectionDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List collections", "tags": [ "Collections" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addOne_3", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionCreationDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Create collection", "tags": [ "Collections" ] } }, "/api/v1/collections/{id}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteOne_2", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete collection", "tags": [ "Collections" ] }, "get": { "operationId": "getOne_2", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get collection details", "tags": [ "Collections" ] }, "patch": { "description": "Required role: **ADMIN**", "operationId": "updateOne_2", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CollectionUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update collection", "tags": [ "Collections" ] } }, "/api/v1/collections/{id}/series": { "get": { "operationId": "getSeriesForCollection", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "ENDED", "ONGOING", "ABANDONED", "HIATUS" ] } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "publisher", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "language", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "genre", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "age_rating", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "release_year", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "complete", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Author criteria in the format: name,role. Multiple author criteria are supported.", "in": "query", "name": "author", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List collection\u0027s series", "tags": [ "Collection Series" ] } }, "/api/v1/collections/{id}/thumbnail": { "get": { "operationId": "getCollectionThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get collection\u0027s poster image", "tags": [ "Collection Poster" ] } }, "/api/v1/collections/{id}/thumbnails": { "get": { "operationId": "getCollectionThumbnails", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThumbnailSeriesCollectionDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List collection\u0027s posters", "tags": [ "Collection Poster" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addUserUploadedCollectionThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "selected", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThumbnailSeriesCollectionDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Add collection poster", "tags": [ "Collection Poster" ] } }, "/api/v1/collections/{id}/thumbnails/{thumbnailId}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteUserUploadedCollectionThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete collection poster", "tags": [ "Collection Poster" ] }, "get": { "operationId": "getCollectionThumbnailById", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get collection poster image", "tags": [ "Collection Poster" ] } }, "/api/v1/collections/{id}/thumbnails/{thumbnailId}/selected": { "put": { "description": "Required role: **ADMIN**", "operationId": "markSelectedCollectionThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark collection poster as selected", "tags": [ "Collection Poster" ] } }, "/api/v1/filesystem": { "post": { "description": "List folders and files from the host server\u0027s file system. If no request body is passed then the root directories are returned.\n\nRequired role: **ADMIN**", "operationId": "getDirectoryListing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DirectoryRequestDto" } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DirectoryListingDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Directory listing", "tags": [ "File system" ] } }, "/api/v1/fonts/families": { "get": { "description": "List all available font families.", "operationId": "listFonts", "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List font families", "tags": [ "Fonts" ] } }, "/api/v1/fonts/resource/{fontFamily}/css": { "get": { "description": "Download a CSS file with the @font-face block for the font family. This is used by the Epub Reader to change fonts.", "operationId": "getFontFamilyAsCss", "parameters": [ { "in": "path", "name": "fontFamily", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "text/css": { "schema": { "type": "string", "format": "binary" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Download CSS file", "tags": [ "Fonts" ] } }, "/api/v1/fonts/resource/{fontFamily}/{fontFile}": { "get": { "operationId": "getFontFile", "parameters": [ { "in": "path", "name": "fontFamily", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "fontFile", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "Download font file", "tags": [ "Fonts" ] } }, "/api/v1/genres": { "get": { "description": "Can be filtered by various criteria", "operationId": "getGenres", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List genres", "tags": [ "Referential metadata" ] } }, "/api/v1/history": { "get": { "description": "Required role: **ADMIN**", "operationId": "getAll_4", "parameters": [ { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageHistoricalEventDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List historical events", "tags": [ "History" ] } }, "/api/v1/languages": { "get": { "description": "Can be filtered by various criteria", "operationId": "getLanguages", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List languages", "tags": [ "Referential metadata" ] } }, "/api/v1/libraries": { "get": { "description": "The libraries are filtered based on the current user\u0027s permissions", "operationId": "getAll_2", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/LibraryDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List all libraries", "tags": [ "Libraries" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addOne_2", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LibraryCreationDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LibraryDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Create a library", "tags": [ "Libraries" ] } }, "/api/v1/libraries/{libraryId}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteOne", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete a library", "tags": [ "Libraries" ] }, "get": { "operationId": "getOne", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LibraryDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get details for a single library", "tags": [ "Libraries" ] }, "patch": { "description": "You can omit fields you don\u0027t want to update\n\nRequired role: **ADMIN**", "operationId": "patchOne", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LibraryUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update a library", "tags": [ "Libraries" ] }, "put": { "deprecated": true, "description": "Use PATCH /api/v1/libraries/{libraryId} instead. Deprecated since 1.3.0.\n\nRequired role: **ADMIN**", "operationId": "updateOne", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LibraryUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update a library", "tags": [ "Deprecated", "Libraries" ] } }, "/api/v1/libraries/{libraryId}/analyze": { "post": { "description": "Required role: **ADMIN**", "operationId": "analyze_2", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Analyze a library", "tags": [ "Libraries" ] } }, "/api/v1/libraries/{libraryId}/empty-trash": { "post": { "description": "Required role: **ADMIN**", "operationId": "emptyTrash", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Empty trash for a library", "tags": [ "Libraries" ] } }, "/api/v1/libraries/{libraryId}/metadata/refresh": { "post": { "description": "Required role: **ADMIN**", "operationId": "refreshMetadata_1", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Refresh metadata for a library", "tags": [ "Libraries" ] } }, "/api/v1/libraries/{libraryId}/scan": { "post": { "description": "Required role: **ADMIN**", "operationId": "scan", "parameters": [ { "in": "path", "name": "libraryId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "deep", "required": false, "schema": { "type": "boolean" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Scan a library", "tags": [ "Libraries" ] } }, "/api/v1/login/set-cookie": { "get": { "description": "Forcefully return Set-Cookie header, even if the session is contained in the X-Auth-Token header.", "operationId": "headerToCookie", "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Set cookie", "tags": [ "User session" ] } }, "/api/v1/oauth2/providers": { "get": { "operationId": "getProviders", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OAuth2ClientDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "security": [], "summary": "List registered OAuth2 providers", "tags": [ "OAuth2" ] } }, "/api/v1/page-hashes": { "get": { "description": "Required role: **ADMIN**", "operationId": "getKnownPageHashes", "parameters": [ { "in": "query", "name": "action", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "DELETE_AUTO", "DELETE_MANUAL", "IGNORE" ] } } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagePageHashKnownDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List known duplicates", "tags": [ "Duplicate Pages" ] }, "put": { "description": "Required role: **ADMIN**", "operationId": "createOrUpdateKnownPageHash", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageHashCreationDto" } } }, "required": true }, "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark duplicate page as known", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/unknown": { "get": { "description": "Required role: **ADMIN**", "operationId": "getUnknownPageHashes", "parameters": [ { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagePageHashUnknownDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List unknown duplicates", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/unknown/{pageHash}/thumbnail": { "get": { "description": "Required role: **ADMIN**", "operationId": "getUnknownPageHashThumbnail", "parameters": [ { "in": "path", "name": "pageHash", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "resize", "required": false, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get unknown duplicate image thumbnail", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/{pageHash}": { "get": { "description": "Required role: **ADMIN**", "operationId": "getPageHashMatches", "parameters": [ { "in": "path", "name": "pageHash", "required": true, "schema": { "type": "string" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PagePageHashMatchDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List duplicate matches", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/{pageHash}/delete-all": { "post": { "description": "Required role: **ADMIN**", "operationId": "performDelete", "parameters": [ { "in": "path", "name": "pageHash", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete all duplicate pages by hash", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/{pageHash}/delete-match": { "post": { "description": "Required role: **ADMIN**", "operationId": "deleteSingleMatch", "parameters": [ { "in": "path", "name": "pageHash", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageHashMatchDto" } } }, "required": true }, "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete specific duplicate page", "tags": [ "Duplicate Pages" ] } }, "/api/v1/page-hashes/{pageHash}/thumbnail": { "get": { "description": "Required role: **ADMIN**", "operationId": "getKnownPageHashThumbnail", "parameters": [ { "in": "path", "name": "pageHash", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get known duplicate image thumbnail", "tags": [ "Duplicate Pages" ] } }, "/api/v1/publishers": { "get": { "description": "Can be filtered by various criteria", "operationId": "getPublishers", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List publishers", "tags": [ "Referential metadata" ] } }, "/api/v1/readlists": { "get": { "operationId": "getAll_1", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageReadListDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List readlists", "tags": [ "Readlists" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addOne_1", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadListCreationDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadListDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Create readlist", "tags": [ "Readlists" ] } }, "/api/v1/readlists/match/comicrack": { "post": { "description": "Required role: **ADMIN**", "operationId": "matchFromComicRackList", "requestBody": { "content": { "application/json": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadListRequestMatchDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Match ComicRack list", "tags": [ "ComicRack" ] } }, "/api/v1/readlists/{id}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteOne_1", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete readlist", "tags": [ "Readlists" ] }, "get": { "operationId": "getOne_1", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadListDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get readlist details", "tags": [ "Readlists" ] }, "patch": { "description": "Required role: **ADMIN**", "operationId": "updateOne_1", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadListUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update readlist", "tags": [ "Readlists" ] } }, "/api/v1/readlists/{id}/books": { "get": { "operationId": "getBooksForReadList", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "media_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNKNOWN", "ERROR", "READY", "UNSUPPORTED", "OUTDATED" ] } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Author criteria in the format: name,role. Multiple author criteria are supported.", "in": "query", "name": "author", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List readlist\u0027s books", "tags": [ "Readlist Books" ] } }, "/api/v1/readlists/{id}/books/{bookId}/next": { "get": { "operationId": "getBookSiblingNext", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get next book in readlist", "tags": [ "Readlist Books" ] } }, "/api/v1/readlists/{id}/books/{bookId}/previous": { "get": { "operationId": "getBookSiblingPrevious", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "bookId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get previous book in readlist", "tags": [ "Readlist Books" ] } }, "/api/v1/readlists/{id}/file": { "get": { "description": "Download the whole readlist as a ZIP file.\n\nRequired role: **FILE_DOWNLOAD**", "operationId": "getReadListFile", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Download readlist", "tags": [ "Readlists" ] } }, "/api/v1/readlists/{id}/read-progress/tachiyomi": { "get": { "description": "Mihon specific, due to how read progress is handled in Mihon.", "operationId": "getReadProgress", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TachiyomiReadProgressDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get readlist read progress (Mihon)", "tags": [ "Mihon" ] }, "put": { "description": "Mihon specific, due to how read progress is handled in Mihon.", "operationId": "markReadProgressTachiyomi", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TachiyomiReadProgressUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update readlist read progress (Mihon)", "tags": [ "Mihon" ] } }, "/api/v1/readlists/{id}/thumbnail": { "get": { "operationId": "getReadListThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get readlist\u0027s poster image", "tags": [ "Readlist Poster" ] } }, "/api/v1/readlists/{id}/thumbnails": { "get": { "operationId": "getReadListThumbnails", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThumbnailReadListDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List readlist\u0027s posters", "tags": [ "Readlist Poster" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addUserUploadedReadListThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "selected", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThumbnailReadListDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Add readlist poster", "tags": [ "Readlist Poster" ] } }, "/api/v1/readlists/{id}/thumbnails/{thumbnailId}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteUserUploadedReadListThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete readlist poster", "tags": [ "Readlist Poster" ] }, "get": { "operationId": "getReadListThumbnailById", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get readlist poster image", "tags": [ "Readlist Poster" ] } }, "/api/v1/readlists/{id}/thumbnails/{thumbnailId}/selected": { "put": { "description": "Required role: **ADMIN**", "operationId": "markSelectedReadListThumbnail", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark readlist poster as selected", "tags": [ "Readlist Poster" ] } }, "/api/v1/releases": { "get": { "description": "Required role: **ADMIN**", "operationId": "getReleases", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ReleaseDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List releases", "tags": [ "Releases" ] } }, "/api/v1/series": { "get": { "deprecated": true, "description": "Use POST /api/v1/series/list instead. Deprecated since 1.19.0.", "operationId": "getAllSeries", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "ENDED", "ONGOING", "ABANDONED", "HIATUS" ] } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "publisher", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "language", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "genre", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "age_rating", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "release_year", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "sharing_label", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "complete", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "oneshot", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Search by regex criteria, in the form: regex,field. Supported fields are TITLE and TITLE_SORT.", "in": "query", "name": "search_regex", "schema": { "type": "string" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Author criteria in the format: name,role. Multiple author criteria are supported.", "in": "query", "name": "author", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series", "tags": [ "Series", "Deprecated" ] } }, "/api/v1/series/alphabetical-groups": { "get": { "deprecated": true, "description": "Use POST /api/v1/series/list/alphabetical-groups instead. Deprecated since 1.19.0.", "operationId": "getAlphabeticalGroups", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "ENDED", "ONGOING", "ABANDONED", "HIATUS" ] } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "publisher", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "language", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "genre", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "age_rating", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "release_year", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "sharing_label", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "complete", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "oneshot", "required": false, "schema": { "type": "boolean" } }, { "description": "Search by regex criteria, in the form: regex,field. Supported fields are TITLE and TITLE_SORT.", "in": "query", "name": "search_regex", "schema": { "type": "string" } }, { "description": "Author criteria in the format: name,role. Multiple author criteria are supported.", "in": "query", "name": "author", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupCountDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series groups", "tags": [ "Series", "Deprecated" ] } }, "/api/v1/series/latest": { "get": { "description": "Return recently added or updated series.", "operationId": "getLatestSeries", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "oneshot", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List latest series", "tags": [ "Series" ] } }, "/api/v1/series/list": { "post": { "operationId": "getSeriesList", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SeriesSearch" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series", "tags": [ "Series" ] } }, "/api/v1/series/list/alphabetical-groups": { "post": { "description": "List series grouped by the first character of their sort title.", "operationId": "getSeriesListByAlphabeticalGroups", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SeriesSearch" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/GroupCountDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series groups", "tags": [ "Series" ] } }, "/api/v1/series/new": { "get": { "description": "Return newly added series.", "operationId": "getNewSeries", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "oneshot", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List new series", "tags": [ "Series" ] } }, "/api/v1/series/release-dates": { "get": { "description": "Can be filtered by various criteria", "operationId": "getSeriesReleaseDates", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series release dates", "tags": [ "Referential metadata" ] } }, "/api/v1/series/updated": { "get": { "description": "Return recently updated series, but not newly added ones.", "operationId": "getUpdatedSeries", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "oneshot", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List updated series", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}": { "get": { "operationId": "getOneSeries", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get series details", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/analyze": { "post": { "description": "Required role: **ADMIN**", "operationId": "analyze_1", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Analyze series", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/books": { "get": { "deprecated": true, "description": "Use POST /api/v1/books/list instead. Deprecated since 1.19.0.", "operationId": "getAllBooksBySeries", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "media_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNKNOWN", "ERROR", "READY", "UNSUPPORTED", "OUTDATED" ] } } }, { "in": "query", "name": "read_status", "required": false, "schema": { "type": "array", "items": { "type": "string", "enum": [ "UNREAD", "READ", "IN_PROGRESS" ] } } }, { "in": "query", "name": "tag", "required": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "deleted", "required": false, "schema": { "type": "boolean" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } }, { "description": "Sorting criteria in the format: property(,asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } }, { "description": "Author criteria in the format: name,role. Multiple author criteria are supported.", "in": "query", "name": "author", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series\u0027 books", "tags": [ "Series", "Deprecated" ] } }, "/api/v1/series/{seriesId}/collections": { "get": { "operationId": "getAllCollectionsBySeries", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series\u0027 collections", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/file": { "delete": { "description": "Delete all of the series\u0027 books files on disk.\n\nRequired role: **ADMIN**", "operationId": "deleteSeries", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete series files", "tags": [ "Series" ] }, "get": { "description": "Download the whole series as a ZIP file.\n\nRequired role: **FILE_DOWNLOAD**", "operationId": "getSeriesFile", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } }, "application/octet-stream": { "schema": { "$ref": "#/components/schemas/StreamingResponseBody" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Download series", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/metadata": { "patch": { "description": "Required role: **ADMIN**", "operationId": "updateMetadata", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SeriesMetadataUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update series metadata", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/metadata/refresh": { "post": { "description": "Required role: **ADMIN**", "operationId": "refreshMetadata", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Refresh series metadata", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/read-progress": { "delete": { "description": "Mark all book for series as unread", "operationId": "markAsUnread", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark series as unread", "tags": [ "Series" ] }, "post": { "description": "Mark all book for series as read", "operationId": "markAsRead", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark series as read", "tags": [ "Series" ] } }, "/api/v1/series/{seriesId}/thumbnail": { "get": { "operationId": "getSeriesDefaultThumbnail", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get series\u0027 poster image", "tags": [ "Series Poster" ] } }, "/api/v1/series/{seriesId}/thumbnails": { "get": { "operationId": "getSeriesThumbnails", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThumbnailSeriesDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series posters", "tags": [ "Series Poster" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "postUserUploadedSeriesThumbnail", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "selected", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "file" ], "type": "object", "properties": { "file": { "type": "string", "format": "binary" } } } } } }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThumbnailSeriesDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Add series poster", "tags": [ "Series Poster" ] } }, "/api/v1/series/{seriesId}/thumbnails/{thumbnailId}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "deleteUserUploadedSeriesThumbnail", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete series poster", "tags": [ "Series Poster" ] }, "get": { "operationId": "getSeriesThumbnailById", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" }, "default": { "content": { "application/json": { "schema": { "type": "string", "format": "binary" } }, "image/jpeg": { "schema": { "type": "string", "format": "binary" } } }, "description": "default response" } }, "summary": "Get series poster image", "tags": [ "Series Poster" ] } }, "/api/v1/series/{seriesId}/thumbnails/{thumbnailId}/selected": { "put": { "description": "Required role: **ADMIN**", "operationId": "postMarkSelectedSeriesThumbnail", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "thumbnailId", "required": true, "schema": { "type": "string" } } ], "responses": { "202": { "description": "Accepted" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Mark series poster as selected", "tags": [ "Series Poster" ] } }, "/api/v1/settings": { "get": { "description": "Required role: **ADMIN**", "operationId": "getSettings", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingsDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve server settings", "tags": [ "Server settings" ] }, "patch": { "description": "You can omit fields you don\u0027t want to update\n\nRequired role: **ADMIN**", "operationId": "updateSettings", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SettingsUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update server settings", "tags": [ "Server settings" ] } }, "/api/v1/sharing-labels": { "get": { "description": "Can be filtered by various criteria", "operationId": "getSharingLabels", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List sharing labels", "tags": [ "Referential metadata" ] } }, "/api/v1/syncpoints/me": { "delete": { "description": "If an API Key ID is passed, deletes only the sync points associated with that API Key. Deleting sync points will allow a Kobo to sync from scratch upon the next sync.", "operationId": "deleteMySyncPointsByApiKey", "parameters": [ { "in": "query", "name": "key_id", "required": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete all sync points", "tags": [ "Sync points" ] } }, "/api/v1/tags": { "get": { "description": "Can be filtered by various criteria", "operationId": "getTags", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List tags", "tags": [ "Referential metadata" ] } }, "/api/v1/tags/book": { "get": { "description": "Can be filtered by various criteria", "operationId": "getBookTags", "parameters": [ { "in": "query", "name": "series_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "readlist_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List book tags", "tags": [ "Referential metadata" ] } }, "/api/v1/tags/series": { "get": { "description": "Can be filtered by various criteria", "operationId": "getSeriesTags", "parameters": [ { "in": "query", "name": "library_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List series tags", "tags": [ "Referential metadata" ] } }, "/api/v1/tasks": { "delete": { "description": "Cancel all tasks queued\n\nRequired role: **ADMIN**", "operationId": "emptyTaskQueue", "responses": { "200": { "content": { "application/json": { "schema": { "type": "integer", "format": "int32" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Clear task queue", "tags": [ "Tasks" ] } }, "/api/v1/transient-books": { "post": { "description": "Scan provided folder for transient books.\n\nRequired role: **ADMIN**", "operationId": "scanForTransientBooks", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ScanRequestDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TransientBookDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Scan folder for transient books", "tags": [ "Import" ] } }, "/api/v1/transient-books/{id}/analyze": { "post": { "description": "Required role: **ADMIN**", "operationId": "analyze", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TransientBookDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Analyze transient book", "tags": [ "Import" ] } }, "/api/v1/transient-books/{id}/pages/{pageNumber}": { "get": { "description": "Required role: **ADMIN**", "operationId": "getSourcePage", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "path", "name": "pageNumber", "required": true, "schema": { "type": "integer", "format": "int32" } } ], "responses": { "200": { "content": { "*/*": { "schema": { "type": "string", "format": "byte" } }, "application/json": { "schema": { "type": "string", "format": "byte" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get transient book page", "tags": [ "Import" ] } }, "/api/v2/authors": { "get": { "description": "Can be filtered by various criteria", "operationId": "getAuthors", "parameters": [ { "in": "query", "name": "search", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "role", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "library_id", "required": false, "schema": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } }, { "in": "query", "name": "collection_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "series_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "readlist_id", "required": false, "schema": { "type": "string" } }, { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer" } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageAuthorDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List authors", "tags": [ "Referential metadata" ] } }, "/api/v2/series/{seriesId}/read-progress/tachiyomi": { "get": { "description": "Mihon specific, due to how read progress is handled in Mihon.", "operationId": "getReadProgressTachiyomiV2", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TachiyomiReadProgressV2Dto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Get series read progress (Mihon)", "tags": [ "Mihon" ] }, "put": { "description": "Mihon specific, due to how read progress is handled in Mihon.", "operationId": "markReadProgressTachiyomiV2", "parameters": [ { "in": "path", "name": "seriesId", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TachiyomiReadProgressUpdateV2Dto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update series read progress (Mihon)", "tags": [ "Mihon" ] } }, "/api/v2/users": { "get": { "description": "Required role: **ADMIN**", "operationId": "getAll", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "List users", "tags": [ "Users" ] }, "post": { "description": "Required role: **ADMIN**", "operationId": "addOne", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserCreationDto" } } }, "required": true }, "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDto" } } }, "description": "Created" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Create user", "tags": [ "Users" ] } }, "/api/v2/users/authentication-activity": { "get": { "description": "Required role: **ADMIN**", "operationId": "getAuthenticationActivity", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer", "default": 0 } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer", "default": 20 } }, { "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageAuthenticationActivityDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve authentication activity", "tags": [ "Users" ] } }, "/api/v2/users/me": { "get": { "operationId": "getMe", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve current user", "tags": [ "Current user" ] } }, "/api/v2/users/me/api-keys": { "get": { "operationId": "getApiKeys", "responses": { "200": { "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ApiKeyDto" } } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve API keys", "tags": [ "API Keys" ] }, "post": { "operationId": "createApiKey", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyRequestDto" } } }, "required": true }, "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Create API key", "tags": [ "API Keys" ] } }, "/api/v2/users/me/api-keys/{keyId}": { "delete": { "operationId": "deleteApiKey", "parameters": [ { "in": "path", "name": "keyId", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete API key", "tags": [ "API Keys" ] } }, "/api/v2/users/me/authentication-activity": { "get": { "operationId": "getMyAuthenticationActivity", "parameters": [ { "in": "query", "name": "unpaged", "required": false, "schema": { "type": "boolean" } }, { "description": "Zero-based page index (0..N)", "in": "query", "name": "page", "schema": { "type": "integer", "default": 0 } }, { "description": "The size of the page to be returned", "in": "query", "name": "size", "schema": { "type": "integer", "default": 20 } }, { "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.", "in": "query", "name": "sort", "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PageAuthenticationActivityDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve authentication activity for the current user", "tags": [ "Current user" ] } }, "/api/v2/users/me/password": { "patch": { "operationId": "updateMyPassword", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update current user\u0027s password", "tags": [ "Current user" ] } }, "/api/v2/users/{id}": { "delete": { "description": "Required role: **ADMIN**", "operationId": "delete", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Delete user", "tags": [ "Users" ] }, "patch": { "description": "Required role: **ADMIN**", "operationId": "updateUser", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update user", "tags": [ "Users" ] } }, "/api/v2/users/{id}/authentication-activity/latest": { "get": { "description": "Required role: **ADMIN**", "operationId": "getLatestAuthenticationActivityForUser", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } }, { "in": "query", "name": "apikey_id", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthenticationActivityDto" } } }, "description": "OK" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Retrieve latest authentication activity for a user", "tags": [ "Users" ] } }, "/api/v2/users/{id}/password": { "patch": { "description": "Required role: **ADMIN**", "operationId": "updatePassword", "parameters": [ { "in": "path", "name": "id", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordUpdateDto" } } }, "required": true }, "responses": { "204": { "description": "No Content" }, "400": { "content": { "*/*": { "schema": { "$ref": "#/components/schemas/ValidationErrorResponse" } } }, "description": "Bad Request" } }, "summary": "Update user\u0027s password", "tags": [ "Users" ] } } }, "components": { "schemas": { "After": { "required": [ "dateTime" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" }, { "type": "object", "properties": { "dateTime": { "type": "string", "format": "date-time" } } } ] }, "AgeRating": { "required": [ "ageRating" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "ageRating": { "oneOf": [ { "$ref": "#/components/schemas/GreaterThan" }, { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" }, { "$ref": "#/components/schemas/IsNotNullT" }, { "$ref": "#/components/schemas/IsNullT" }, { "$ref": "#/components/schemas/LessThan" } ] } } } ] }, "AgeRestrictionDto": { "required": [ "age", "restriction" ], "type": "object", "properties": { "age": { "type": "integer", "format": "int32" }, "restriction": { "type": "string", "enum": [ "ALLOW_ONLY", "EXCLUDE" ] } } }, "AgeRestrictionUpdateDto": { "required": [ "age", "restriction" ], "type": "object", "properties": { "age": { "type": "integer", "format": "int32" }, "restriction": { "type": "string", "enum": [ "ALLOW_ONLY", "EXCLUDE" ] } } }, "AllOfBook": { "required": [ "allOf" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "allOf": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/AllOfBook" }, { "$ref": "#/components/schemas/AnyOfBook" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/MediaProfile" }, { "$ref": "#/components/schemas/MediaStatus" }, { "$ref": "#/components/schemas/NumberSort" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Poster" }, { "$ref": "#/components/schemas/ReadListId" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesId" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" } ] } } } } ] }, "AllOfSeries": { "required": [ "allOf" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "allOf": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/AgeRating" }, { "$ref": "#/components/schemas/AllOfSeries" }, { "$ref": "#/components/schemas/AnyOfSeries" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/CollectionId" }, { "$ref": "#/components/schemas/Complete" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/Genre" }, { "$ref": "#/components/schemas/Language" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Publisher" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesStatus" }, { "$ref": "#/components/schemas/SharingLabel" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" }, { "$ref": "#/components/schemas/TitleSort" } ] } } } } ] }, "AlternateTitleDto": { "required": [ "label", "title" ], "type": "object", "properties": { "label": { "type": "string" }, "title": { "type": "string" } } }, "AlternateTitleUpdateDto": { "required": [ "label", "title" ], "type": "object", "properties": { "label": { "type": "string" }, "title": { "type": "string" } } }, "AnyOfBook": { "required": [ "anyOf" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "anyOf": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/AllOfBook" }, { "$ref": "#/components/schemas/AnyOfBook" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/MediaProfile" }, { "$ref": "#/components/schemas/MediaStatus" }, { "$ref": "#/components/schemas/NumberSort" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Poster" }, { "$ref": "#/components/schemas/ReadListId" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesId" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" } ] } } } } ] }, "AnyOfSeries": { "required": [ "anyOf" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "anyOf": { "type": "array", "items": { "oneOf": [ { "$ref": "#/components/schemas/AgeRating" }, { "$ref": "#/components/schemas/AllOfSeries" }, { "$ref": "#/components/schemas/AnyOfSeries" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/CollectionId" }, { "$ref": "#/components/schemas/Complete" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/Genre" }, { "$ref": "#/components/schemas/Language" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Publisher" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesStatus" }, { "$ref": "#/components/schemas/SharingLabel" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" }, { "$ref": "#/components/schemas/TitleSort" } ] } } } } ] }, "ApiKeyDto": { "required": [ "comment", "createdDate", "id", "key", "lastModifiedDate", "userId" ], "type": "object", "properties": { "comment": { "type": "string" }, "createdDate": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "key": { "type": "string" }, "lastModifiedDate": { "type": "string", "format": "date-time" }, "userId": { "type": "string" } } }, "ApiKeyRequestDto": { "required": [ "comment" ], "type": "object", "properties": { "comment": { "type": "string" } } }, "AuthenticationActivityDto": { "required": [ "dateTime", "success" ], "type": "object", "properties": { "apiKeyComment": { "type": "string" }, "apiKeyId": { "type": "string" }, "dateTime": { "type": "string", "format": "date-time" }, "email": { "type": "string" }, "error": { "type": "string" }, "ip": { "type": "string" }, "source": { "type": "string" }, "success": { "type": "boolean" }, "userAgent": { "type": "string" }, "userId": { "type": "string" } } }, "Author": { "required": [ "author" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "author": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "AuthorDto": { "required": [ "name", "role" ], "type": "object", "properties": { "name": { "type": "string" }, "role": { "type": "string" } } }, "AuthorUpdateDto": { "required": [ "name", "role" ], "type": "object", "properties": { "name": { "type": "string" }, "role": { "type": "string" } } }, "Before": { "required": [ "dateTime" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" }, { "type": "object", "properties": { "dateTime": { "type": "string", "format": "date-time" } } } ] }, "BeginsWith": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "Book": { "type": "object" }, "BookDto": { "required": [ "created", "deleted", "fileHash", "fileLastModified", "id", "lastModified", "libraryId", "media", "metadata", "name", "number", "oneshot", "seriesId", "seriesTitle", "size", "sizeBytes", "url" ], "type": "object", "properties": { "created": { "type": "string", "format": "date-time" }, "deleted": { "type": "boolean" }, "fileHash": { "type": "string" }, "fileLastModified": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "lastModified": { "type": "string", "format": "date-time" }, "libraryId": { "type": "string" }, "media": { "$ref": "#/components/schemas/MediaDto" }, "metadata": { "$ref": "#/components/schemas/BookMetadataDto" }, "name": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "oneshot": { "type": "boolean" }, "readProgress": { "$ref": "#/components/schemas/ReadProgressDto" }, "seriesId": { "type": "string" }, "seriesTitle": { "type": "string" }, "size": { "type": "string" }, "sizeBytes": { "type": "integer", "format": "int64" }, "url": { "type": "string" } } }, "BookImportBatchDto": { "required": [ "books", "copyMode" ], "type": "object", "properties": { "books": { "type": "array", "items": { "$ref": "#/components/schemas/BookImportDto" } }, "copyMode": { "type": "string", "enum": [ "MOVE", "COPY", "HARDLINK" ] } } }, "BookImportDto": { "required": [ "seriesId", "sourceFile" ], "type": "object", "properties": { "destinationName": { "type": "string" }, "seriesId": { "type": "string" }, "sourceFile": { "type": "string" }, "upgradeBookId": { "type": "string" } } }, "BookMetadataAggregationDto": { "required": [ "authors", "created", "lastModified", "summary", "summaryNumber", "tags" ], "type": "object", "properties": { "authors": { "type": "array", "items": { "$ref": "#/components/schemas/AuthorDto" } }, "created": { "type": "string", "format": "date-time" }, "lastModified": { "type": "string", "format": "date-time" }, "releaseDate": { "type": "string", "format": "date" }, "summary": { "type": "string" }, "summaryNumber": { "type": "string" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "BookMetadataDto": { "required": [ "authors", "authorsLock", "created", "isbn", "isbnLock", "lastModified", "links", "linksLock", "number", "numberLock", "numberSort", "numberSortLock", "releaseDateLock", "summary", "summaryLock", "tags", "tagsLock", "title", "titleLock" ], "type": "object", "properties": { "authors": { "type": "array", "items": { "$ref": "#/components/schemas/AuthorDto" } }, "authorsLock": { "type": "boolean" }, "created": { "type": "string", "format": "date-time" }, "isbn": { "type": "string" }, "isbnLock": { "type": "boolean" }, "lastModified": { "type": "string", "format": "date-time" }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/WebLinkDto" } }, "linksLock": { "type": "boolean" }, "number": { "type": "string" }, "numberLock": { "type": "boolean" }, "numberSort": { "type": "number", "format": "float" }, "numberSortLock": { "type": "boolean" }, "releaseDate": { "type": "string", "format": "date" }, "releaseDateLock": { "type": "boolean" }, "summary": { "type": "string" }, "summaryLock": { "type": "boolean" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "tagsLock": { "type": "boolean" }, "title": { "type": "string" }, "titleLock": { "type": "boolean" } } }, "BookMetadataUpdateDto": { "type": "object", "properties": { "authors": { "type": "array", "items": { "$ref": "#/components/schemas/AuthorUpdateDto" } }, "authorsLock": { "type": "boolean" }, "isbn": { "type": "string" }, "isbnLock": { "type": "boolean" }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/WebLinkUpdateDto" } }, "linksLock": { "type": "boolean" }, "number": { "type": "string" }, "numberLock": { "type": "boolean" }, "numberSort": { "type": "number", "format": "float" }, "numberSortLock": { "type": "boolean" }, "releaseDate": { "type": "string", "format": "date" }, "releaseDateLock": { "type": "boolean" }, "summary": { "type": "string" }, "summaryLock": { "type": "boolean" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "tagsLock": { "type": "boolean" }, "title": { "type": "string" }, "titleLock": { "type": "boolean" } }, "description": "Metadata fields to update. Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update." }, "BookSearch": { "type": "object", "properties": { "condition": { "oneOf": [ { "$ref": "#/components/schemas/AllOfBook" }, { "$ref": "#/components/schemas/AnyOfBook" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/MediaProfile" }, { "$ref": "#/components/schemas/MediaStatus" }, { "$ref": "#/components/schemas/NumberSort" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Poster" }, { "$ref": "#/components/schemas/ReadListId" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesId" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" } ] }, "fullTextSearch": { "type": "string" } } }, "Boolean": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "ClaimStatus": { "required": [ "isClaimed" ], "type": "object", "properties": { "isClaimed": { "type": "boolean" } } }, "ClientSettingDto": { "required": [ "value" ], "type": "object", "properties": { "allowUnauthorized": { "type": "boolean" }, "value": { "type": "string" } } }, "ClientSettingGlobalUpdateDto": { "required": [ "allowUnauthorized", "value" ], "type": "object", "properties": { "allowUnauthorized": { "type": "boolean" }, "value": { "type": "string" } } }, "ClientSettingUserUpdateDto": { "required": [ "value" ], "type": "object", "properties": { "value": { "type": "string" } } }, "CollectionCreationDto": { "required": [ "name", "ordered", "seriesIds" ], "type": "object", "properties": { "name": { "type": "string" }, "ordered": { "type": "boolean" }, "seriesIds": { "type": "array", "items": { "type": "string" } } } }, "CollectionDto": { "required": [ "createdDate", "filtered", "id", "lastModifiedDate", "name", "ordered", "seriesIds" ], "type": "object", "properties": { "createdDate": { "type": "string", "format": "date-time" }, "filtered": { "type": "boolean" }, "id": { "type": "string" }, "lastModifiedDate": { "type": "string", "format": "date-time" }, "name": { "type": "string" }, "ordered": { "type": "boolean" }, "seriesIds": { "type": "array", "items": { "type": "string" } } } }, "CollectionId": { "required": [ "collectionId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "collectionId": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "CollectionUpdateDto": { "type": "object", "properties": { "name": { "type": "string" }, "ordered": { "type": "boolean" }, "seriesIds": { "type": "array", "items": { "type": "string" } } } }, "Complete": { "required": [ "complete" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "complete": { "oneOf": [ { "$ref": "#/components/schemas/IsFalse" }, { "$ref": "#/components/schemas/IsTrue" } ] } } } ] }, "Contains": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "Date": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "Deleted": { "required": [ "deleted" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "deleted": { "oneOf": [ { "$ref": "#/components/schemas/IsFalse" }, { "$ref": "#/components/schemas/IsTrue" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "DirectoryListingDto": { "required": [ "directories", "files" ], "type": "object", "properties": { "directories": { "type": "array", "items": { "$ref": "#/components/schemas/PathDto" } }, "files": { "type": "array", "items": { "$ref": "#/components/schemas/PathDto" } }, "parent": { "type": "string" } } }, "DirectoryRequestDto": { "required": [ "path", "showFiles" ], "type": "object", "properties": { "path": { "type": "string" }, "showFiles": { "type": "boolean" } } }, "DoesNotBeginWith": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "DoesNotContain": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "DoesNotEndWith": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "EndsWith": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/StringOp" }, { "type": "object", "properties": { "value": { "type": "string" } } } ] }, "EqualityAuthorMatch": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityMediaProfile": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityNullableString": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityPosterMatch": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityReadStatus": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityStatus": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "EqualityString": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "Genre": { "required": [ "genre" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "genre": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" }, { "$ref": "#/components/schemas/IsNotNullT" }, { "$ref": "#/components/schemas/IsNullT" } ] } } } ] }, "GreaterThan": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "type": "object", "properties": { "value": { "type": "object" } } }, { "$ref": "#/components/schemas/NumericFloat" } ] }, "GroupCountDto": { "required": [ "count", "group" ], "type": "object", "properties": { "count": { "type": "integer", "format": "int32" }, "group": { "type": "string" } } }, "HistoricalEventDto": { "required": [ "properties", "timestamp", "type" ], "type": "object", "properties": { "bookId": { "type": "string" }, "properties": { "type": "object", "additionalProperties": { "type": "string" } }, "seriesId": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" }, "type": { "type": "string" } } }, "Is": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "type": "object", "properties": { "value": { "type": "object" } } }, { "$ref": "#/components/schemas/EqualityAuthorMatch" }, { "$ref": "#/components/schemas/EqualityString" }, { "$ref": "#/components/schemas/EqualityNullableString" }, { "$ref": "#/components/schemas/EqualityReadStatus" }, { "$ref": "#/components/schemas/EqualityStatus" }, { "$ref": "#/components/schemas/StringOp" }, { "$ref": "#/components/schemas/EqualityMediaProfile" }, { "$ref": "#/components/schemas/NumericFloat" }, { "$ref": "#/components/schemas/EqualityPosterMatch" } ] }, "IsFalse": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Boolean" } ] }, "IsInTheLast": { "required": [ "duration" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" }, { "type": "object", "properties": { "duration": { "type": "object", "properties": { "nano": { "type": "integer", "format": "int32" }, "negative": { "type": "boolean" }, "seconds": { "type": "integer", "format": "int64" }, "units": { "type": "array", "items": { "type": "object", "properties": { "dateBased": { "type": "boolean" }, "durationEstimated": { "type": "boolean" }, "timeBased": { "type": "boolean" } } } }, "zero": { "type": "boolean" } } } } } ] }, "IsNot": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "type": "object", "properties": { "value": { "type": "object" } } }, { "$ref": "#/components/schemas/EqualityAuthorMatch" }, { "$ref": "#/components/schemas/EqualityString" }, { "$ref": "#/components/schemas/EqualityNullableString" }, { "$ref": "#/components/schemas/EqualityReadStatus" }, { "$ref": "#/components/schemas/EqualityStatus" }, { "$ref": "#/components/schemas/StringOp" }, { "$ref": "#/components/schemas/EqualityMediaProfile" }, { "$ref": "#/components/schemas/NumericFloat" }, { "$ref": "#/components/schemas/EqualityPosterMatch" } ] }, "IsNotInTheLast": { "required": [ "duration" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" }, { "type": "object", "properties": { "duration": { "type": "object", "properties": { "nano": { "type": "integer", "format": "int32" }, "negative": { "type": "boolean" }, "seconds": { "type": "integer", "format": "int64" }, "units": { "type": "array", "items": { "type": "object", "properties": { "dateBased": { "type": "boolean" }, "durationEstimated": { "type": "boolean" }, "timeBased": { "type": "boolean" } } } }, "zero": { "type": "boolean" } } } } } ] }, "IsNotNull": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" } ] }, "IsNotNullT": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "$ref": "#/components/schemas/EqualityNullableString" } ] }, "IsNull": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Date" } ] }, "IsNullT": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "$ref": "#/components/schemas/EqualityNullableString" } ] }, "IsTrue": { "type": "object", "allOf": [ { "$ref": "#/components/schemas/Boolean" } ] }, "ItemDto": { "required": [ "id", "tags" ], "type": "object", "properties": { "_komga": { "$ref": "#/components/schemas/KomgaExtensionDto" }, "author": { "$ref": "#/components/schemas/AuthorDto" }, "content_html": { "type": "string" }, "date_modified": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "summary": { "type": "string" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "title": { "type": "string" }, "url": { "type": "string" } } }, "JsonFeedDto": { "required": [ "items", "title", "version" ], "type": "object", "properties": { "description": { "type": "string" }, "home_page_url": { "type": "string" }, "items": { "type": "array", "items": { "$ref": "#/components/schemas/ItemDto" } }, "title": { "type": "string" }, "version": { "type": "string" } } }, "KomgaExtensionDto": { "required": [ "read" ], "type": "object", "properties": { "read": { "type": "boolean" } } }, "Language": { "required": [ "language" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "language": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "LessThan": { "required": [ "value" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/NumericNullableInteger" }, { "type": "object", "properties": { "value": { "type": "object" } } }, { "$ref": "#/components/schemas/NumericFloat" } ] }, "LibraryCreationDto": { "required": [ "analyzeDimensions", "convertToCbz", "emptyTrashAfterScan", "hashFiles", "hashKoreader", "hashPages", "importBarcodeIsbn", "importComicInfoBook", "importComicInfoCollection", "importComicInfoReadList", "importComicInfoSeries", "importComicInfoSeriesAppendVolume", "importEpubBook", "importEpubSeries", "importLocalArtwork", "importMylarSeries", "name", "repairExtensions", "root", "scanCbx", "scanDirectoryExclusions", "scanEpub", "scanForceModifiedTime", "scanInterval", "scanOnStartup", "scanPdf", "seriesCover" ], "type": "object", "properties": { "analyzeDimensions": { "type": "boolean" }, "convertToCbz": { "type": "boolean" }, "emptyTrashAfterScan": { "type": "boolean" }, "hashFiles": { "type": "boolean" }, "hashKoreader": { "type": "boolean" }, "hashPages": { "type": "boolean" }, "importBarcodeIsbn": { "type": "boolean" }, "importComicInfoBook": { "type": "boolean" }, "importComicInfoCollection": { "type": "boolean" }, "importComicInfoReadList": { "type": "boolean" }, "importComicInfoSeries": { "type": "boolean" }, "importComicInfoSeriesAppendVolume": { "type": "boolean" }, "importEpubBook": { "type": "boolean" }, "importEpubSeries": { "type": "boolean" }, "importLocalArtwork": { "type": "boolean" }, "importMylarSeries": { "type": "boolean" }, "name": { "type": "string" }, "oneshotsDirectory": { "type": "string" }, "repairExtensions": { "type": "boolean" }, "root": { "type": "string" }, "scanCbx": { "type": "boolean" }, "scanDirectoryExclusions": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "scanEpub": { "type": "boolean" }, "scanForceModifiedTime": { "type": "boolean" }, "scanInterval": { "type": "string", "enum": [ "DISABLED", "HOURLY", "EVERY_6H", "EVERY_12H", "DAILY", "WEEKLY" ] }, "scanOnStartup": { "type": "boolean" }, "scanPdf": { "type": "boolean" }, "seriesCover": { "type": "string", "enum": [ "FIRST", "FIRST_UNREAD_OR_FIRST", "FIRST_UNREAD_OR_LAST", "LAST" ] } } }, "LibraryDto": { "required": [ "analyzeDimensions", "convertToCbz", "emptyTrashAfterScan", "hashFiles", "hashKoreader", "hashPages", "id", "importBarcodeIsbn", "importComicInfoBook", "importComicInfoCollection", "importComicInfoReadList", "importComicInfoSeries", "importComicInfoSeriesAppendVolume", "importEpubBook", "importEpubSeries", "importLocalArtwork", "importMylarSeries", "name", "repairExtensions", "root", "scanCbx", "scanDirectoryExclusions", "scanEpub", "scanForceModifiedTime", "scanInterval", "scanOnStartup", "scanPdf", "seriesCover", "unavailable" ], "type": "object", "properties": { "analyzeDimensions": { "type": "boolean" }, "convertToCbz": { "type": "boolean" }, "emptyTrashAfterScan": { "type": "boolean" }, "hashFiles": { "type": "boolean" }, "hashKoreader": { "type": "boolean" }, "hashPages": { "type": "boolean" }, "id": { "type": "string" }, "importBarcodeIsbn": { "type": "boolean" }, "importComicInfoBook": { "type": "boolean" }, "importComicInfoCollection": { "type": "boolean" }, "importComicInfoReadList": { "type": "boolean" }, "importComicInfoSeries": { "type": "boolean" }, "importComicInfoSeriesAppendVolume": { "type": "boolean" }, "importEpubBook": { "type": "boolean" }, "importEpubSeries": { "type": "boolean" }, "importLocalArtwork": { "type": "boolean" }, "importMylarSeries": { "type": "boolean" }, "name": { "type": "string" }, "oneshotsDirectory": { "type": "string" }, "repairExtensions": { "type": "boolean" }, "root": { "type": "string" }, "scanCbx": { "type": "boolean" }, "scanDirectoryExclusions": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "scanEpub": { "type": "boolean" }, "scanForceModifiedTime": { "type": "boolean" }, "scanInterval": { "type": "string", "enum": [ "DISABLED", "HOURLY", "EVERY_6H", "EVERY_12H", "DAILY", "WEEKLY" ] }, "scanOnStartup": { "type": "boolean" }, "scanPdf": { "type": "boolean" }, "seriesCover": { "type": "string", "enum": [ "FIRST", "FIRST_UNREAD_OR_FIRST", "FIRST_UNREAD_OR_LAST", "LAST" ] }, "unavailable": { "type": "boolean" } } }, "LibraryId": { "required": [ "libraryId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "libraryId": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "LibraryUpdateDto": { "type": "object", "properties": { "analyzeDimensions": { "type": "boolean" }, "convertToCbz": { "type": "boolean" }, "emptyTrashAfterScan": { "type": "boolean" }, "hashFiles": { "type": "boolean" }, "hashKoreader": { "type": "boolean" }, "hashPages": { "type": "boolean" }, "importBarcodeIsbn": { "type": "boolean" }, "importComicInfoBook": { "type": "boolean" }, "importComicInfoCollection": { "type": "boolean" }, "importComicInfoReadList": { "type": "boolean" }, "importComicInfoSeries": { "type": "boolean" }, "importComicInfoSeriesAppendVolume": { "type": "boolean" }, "importEpubBook": { "type": "boolean" }, "importEpubSeries": { "type": "boolean" }, "importLocalArtwork": { "type": "boolean" }, "importMylarSeries": { "type": "boolean" }, "name": { "type": "string" }, "oneshotsDirectory": { "type": "string" }, "repairExtensions": { "type": "boolean" }, "root": { "type": "string" }, "scanCbx": { "type": "boolean" }, "scanDirectoryExclusions": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "scanEpub": { "type": "boolean" }, "scanForceModifiedTime": { "type": "boolean" }, "scanInterval": { "type": "string", "enum": [ "DISABLED", "HOURLY", "EVERY_6H", "EVERY_12H", "DAILY", "WEEKLY" ] }, "scanOnStartup": { "type": "boolean" }, "scanPdf": { "type": "boolean" }, "seriesCover": { "type": "string", "enum": [ "FIRST", "FIRST_UNREAD_OR_FIRST", "FIRST_UNREAD_OR_LAST", "LAST" ] } }, "description": "Fields to update. You can omit fields you don\u0027t want to update." }, "Location": { "required": [ "fragments" ], "type": "object", "properties": { "fragments": { "type": "array", "items": { "type": "string" } }, "position": { "type": "integer", "format": "int32" }, "progression": { "type": "number", "format": "float" }, "totalProgression": { "type": "number", "format": "float" } } }, "MediaDto": { "required": [ "comment", "epubDivinaCompatible", "epubIsKepub", "mediaProfile", "mediaType", "pagesCount", "status" ], "type": "object", "properties": { "comment": { "type": "string" }, "epubDivinaCompatible": { "type": "boolean" }, "epubIsKepub": { "type": "boolean" }, "mediaProfile": { "type": "string" }, "mediaType": { "type": "string" }, "pagesCount": { "type": "integer", "format": "int32" }, "status": { "type": "string" } } }, "MediaProfile": { "required": [ "mediaProfile" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "mediaProfile": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "MediaStatus": { "required": [ "mediaStatus" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "mediaStatus": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "MediaType": { "type": "object", "properties": { "charset": { "type": "string" }, "concrete": { "type": "boolean" }, "parameters": { "type": "object", "additionalProperties": { "type": "string" } }, "qualityValue": { "type": "number", "format": "double" }, "subtype": { "type": "string" }, "subtypeSuffix": { "type": "string" }, "type": { "type": "string" }, "wildcardSubtype": { "type": "boolean" }, "wildcardType": { "type": "boolean" } } }, "NumberSort": { "required": [ "numberSort" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "numberSort": { "oneOf": [ { "$ref": "#/components/schemas/GreaterThan" }, { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" }, { "$ref": "#/components/schemas/LessThan" } ] } } } ] }, "NumericFloat": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "NumericNullableInteger": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "OAuth2ClientDto": { "required": [ "name", "registrationId" ], "type": "object", "properties": { "name": { "type": "string" }, "registrationId": { "type": "string" } } }, "OneShot": { "required": [ "oneShot" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "oneShot": { "oneOf": [ { "$ref": "#/components/schemas/IsFalse" }, { "$ref": "#/components/schemas/IsTrue" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "PageAuthenticationActivityDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/AuthenticationActivityDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageAuthorDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/AuthorDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageBookDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/BookDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageCollectionDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/CollectionDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageDto": { "required": [ "fileName", "mediaType", "number", "size" ], "type": "object", "properties": { "fileName": { "type": "string" }, "height": { "type": "integer", "format": "int32" }, "mediaType": { "type": "string" }, "number": { "type": "integer", "format": "int32" }, "size": { "type": "string" }, "sizeBytes": { "type": "integer", "format": "int64" }, "width": { "type": "integer", "format": "int32" } } }, "PageHashCreationDto": { "required": [ "action", "hash" ], "type": "object", "properties": { "action": { "type": "string", "enum": [ "DELETE_AUTO", "DELETE_MANUAL", "IGNORE" ] }, "hash": { "type": "string" }, "size": { "type": "integer", "format": "int64" } } }, "PageHashKnownDto": { "required": [ "action", "created", "deleteCount", "hash", "lastModified", "matchCount" ], "type": "object", "properties": { "action": { "type": "string", "enum": [ "DELETE_AUTO", "DELETE_MANUAL", "IGNORE" ] }, "created": { "type": "string", "format": "date-time" }, "deleteCount": { "type": "integer", "format": "int32" }, "hash": { "type": "string" }, "lastModified": { "type": "string", "format": "date-time" }, "matchCount": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int64" } } }, "PageHashMatchDto": { "required": [ "bookId", "fileName", "fileSize", "mediaType", "pageNumber", "url" ], "type": "object", "properties": { "bookId": { "type": "string" }, "fileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "mediaType": { "type": "string" }, "pageNumber": { "type": "integer", "format": "int32" }, "url": { "type": "string" } } }, "PageHashUnknownDto": { "required": [ "hash", "matchCount" ], "type": "object", "properties": { "hash": { "type": "string" }, "matchCount": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int64" } } }, "PageHistoricalEventDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/HistoricalEventDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PagePageHashKnownDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/PageHashKnownDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PagePageHashMatchDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/PageHashMatchDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PagePageHashUnknownDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/PageHashUnknownDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageReadListDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/ReadListDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageSeriesDto": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/components/schemas/SeriesDto" } }, "empty": { "type": "boolean" }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "pageable": { "$ref": "#/components/schemas/PageableObject" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } } }, "PageableObject": { "type": "object", "properties": { "offset": { "type": "integer", "format": "int64" }, "pageNumber": { "type": "integer", "format": "int32" }, "pageSize": { "type": "integer", "format": "int32" }, "paged": { "type": "boolean" }, "sort": { "$ref": "#/components/schemas/SortObject" }, "unpaged": { "type": "boolean" } } }, "PasswordUpdateDto": { "required": [ "password" ], "type": "object", "properties": { "password": { "type": "string" } } }, "PathDto": { "required": [ "name", "path", "type" ], "type": "object", "properties": { "name": { "type": "string" }, "path": { "type": "string" }, "type": { "type": "string" } } }, "Poster": { "required": [ "poster" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "poster": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "Publisher": { "required": [ "publisher" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "publisher": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "R2Device": { "required": [ "id", "name" ], "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "R2Locator": { "required": [ "href", "type" ], "type": "object", "properties": { "href": { "type": "string" }, "koboSpan": { "type": "string" }, "locations": { "$ref": "#/components/schemas/Location" }, "text": { "$ref": "#/components/schemas/Text" }, "title": { "type": "string" }, "type": { "type": "string" } } }, "R2Positions": { "required": [ "positions", "total" ], "type": "object", "properties": { "positions": { "type": "array", "items": { "$ref": "#/components/schemas/R2Locator" } }, "total": { "type": "integer", "format": "int32" } } }, "R2Progression": { "required": [ "device", "locator", "modified" ], "type": "object", "properties": { "device": { "$ref": "#/components/schemas/R2Device" }, "locator": { "$ref": "#/components/schemas/R2Locator" }, "modified": { "type": "string", "format": "date-time" } } }, "ReadListCreationDto": { "required": [ "bookIds", "name", "ordered", "summary" ], "type": "object", "properties": { "bookIds": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "ordered": { "type": "boolean" }, "summary": { "type": "string" } } }, "ReadListDto": { "required": [ "bookIds", "createdDate", "filtered", "id", "lastModifiedDate", "name", "ordered", "summary" ], "type": "object", "properties": { "bookIds": { "type": "array", "items": { "type": "string" } }, "createdDate": { "type": "string", "format": "date-time" }, "filtered": { "type": "boolean" }, "id": { "type": "string" }, "lastModifiedDate": { "type": "string", "format": "date-time" }, "name": { "type": "string" }, "ordered": { "type": "boolean" }, "summary": { "type": "string" } } }, "ReadListId": { "required": [ "readListId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "readListId": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "ReadListMatchDto": { "required": [ "errorCode", "name" ], "type": "object", "properties": { "errorCode": { "type": "string" }, "name": { "type": "string" } } }, "ReadListRequestBookDto": { "required": [ "number", "series" ], "type": "object", "properties": { "number": { "type": "string" }, "series": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "ReadListRequestBookMatchBookDto": { "required": [ "bookId", "number", "title" ], "type": "object", "properties": { "bookId": { "type": "string" }, "number": { "type": "string" }, "title": { "type": "string" } } }, "ReadListRequestBookMatchDto": { "required": [ "books", "series" ], "type": "object", "properties": { "books": { "type": "array", "items": { "$ref": "#/components/schemas/ReadListRequestBookMatchBookDto" } }, "series": { "$ref": "#/components/schemas/ReadListRequestBookMatchSeriesDto" } } }, "ReadListRequestBookMatchSeriesDto": { "required": [ "seriesId", "title" ], "type": "object", "properties": { "releaseDate": { "type": "string", "format": "date" }, "seriesId": { "type": "string" }, "title": { "type": "string" } } }, "ReadListRequestBookMatchesDto": { "required": [ "matches", "request" ], "type": "object", "properties": { "matches": { "type": "array", "items": { "$ref": "#/components/schemas/ReadListRequestBookMatchDto" } }, "request": { "$ref": "#/components/schemas/ReadListRequestBookDto" } } }, "ReadListRequestMatchDto": { "required": [ "errorCode", "readListMatch", "requests" ], "type": "object", "properties": { "errorCode": { "type": "string" }, "readListMatch": { "$ref": "#/components/schemas/ReadListMatchDto" }, "requests": { "type": "array", "items": { "$ref": "#/components/schemas/ReadListRequestBookMatchesDto" } } } }, "ReadListUpdateDto": { "type": "object", "properties": { "bookIds": { "type": "array", "items": { "type": "string" } }, "name": { "type": "string" }, "ordered": { "type": "boolean" }, "summary": { "type": "string" } } }, "ReadProgressDto": { "required": [ "completed", "created", "deviceId", "deviceName", "lastModified", "page", "readDate" ], "type": "object", "properties": { "completed": { "type": "boolean" }, "created": { "type": "string", "format": "date-time" }, "deviceId": { "type": "string" }, "deviceName": { "type": "string" }, "lastModified": { "type": "string", "format": "date-time" }, "page": { "type": "integer", "format": "int32" }, "readDate": { "type": "string", "format": "date-time" } } }, "ReadProgressUpdateDto": { "type": "object", "properties": { "completed": { "type": "boolean" }, "page": { "type": "integer", "format": "int32" } }, "description": "page can be omitted if completed is set to true. completed can be omitted, and will be set accordingly depending on the page passed and the total number of pages in the book." }, "ReadStatus": { "required": [ "readStatus" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "readStatus": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "ReleaseDate": { "required": [ "releaseDate" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "releaseDate": { "oneOf": [ { "$ref": "#/components/schemas/After" }, { "$ref": "#/components/schemas/Before" }, { "$ref": "#/components/schemas/IsInTheLast" }, { "$ref": "#/components/schemas/IsNotInTheLast" }, { "$ref": "#/components/schemas/IsNotNull" }, { "$ref": "#/components/schemas/IsNull" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "ReleaseDto": { "required": [ "description", "latest", "preRelease", "releaseDate", "url", "version" ], "type": "object", "properties": { "description": { "type": "string" }, "latest": { "type": "boolean" }, "preRelease": { "type": "boolean" }, "releaseDate": { "type": "string", "format": "date-time" }, "url": { "type": "string" }, "version": { "type": "string" } } }, "ScanRequestDto": { "required": [ "path" ], "type": "object", "properties": { "path": { "type": "string" } } }, "Series": { "type": "object" }, "SeriesDto": { "required": [ "booksCount", "booksInProgressCount", "booksMetadata", "booksReadCount", "booksUnreadCount", "created", "deleted", "fileLastModified", "id", "lastModified", "libraryId", "metadata", "name", "oneshot", "url" ], "type": "object", "properties": { "booksCount": { "type": "integer", "format": "int32" }, "booksInProgressCount": { "type": "integer", "format": "int32" }, "booksMetadata": { "$ref": "#/components/schemas/BookMetadataAggregationDto" }, "booksReadCount": { "type": "integer", "format": "int32" }, "booksUnreadCount": { "type": "integer", "format": "int32" }, "created": { "type": "string", "format": "date-time" }, "deleted": { "type": "boolean" }, "fileLastModified": { "type": "string", "format": "date-time" }, "id": { "type": "string" }, "lastModified": { "type": "string", "format": "date-time" }, "libraryId": { "type": "string" }, "metadata": { "$ref": "#/components/schemas/SeriesMetadataDto" }, "name": { "type": "string" }, "oneshot": { "type": "boolean" }, "url": { "type": "string" } } }, "SeriesId": { "required": [ "seriesId" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Book" }, { "type": "object", "properties": { "seriesId": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "SeriesMetadataDto": { "required": [ "ageRatingLock", "alternateTitles", "alternateTitlesLock", "created", "genres", "genresLock", "language", "languageLock", "lastModified", "links", "linksLock", "publisher", "publisherLock", "readingDirection", "readingDirectionLock", "sharingLabels", "sharingLabelsLock", "status", "statusLock", "summary", "summaryLock", "tags", "tagsLock", "title", "titleLock", "titleSort", "titleSortLock", "totalBookCountLock" ], "type": "object", "properties": { "ageRating": { "type": "integer", "format": "int32" }, "ageRatingLock": { "type": "boolean" }, "alternateTitles": { "type": "array", "items": { "$ref": "#/components/schemas/AlternateTitleDto" } }, "alternateTitlesLock": { "type": "boolean" }, "created": { "type": "string", "format": "date-time" }, "genres": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "genresLock": { "type": "boolean" }, "language": { "type": "string" }, "languageLock": { "type": "boolean" }, "lastModified": { "type": "string", "format": "date-time" }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/WebLinkDto" } }, "linksLock": { "type": "boolean" }, "publisher": { "type": "string" }, "publisherLock": { "type": "boolean" }, "readingDirection": { "type": "string" }, "readingDirectionLock": { "type": "boolean" }, "sharingLabels": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "sharingLabelsLock": { "type": "boolean" }, "status": { "type": "string" }, "statusLock": { "type": "boolean" }, "summary": { "type": "string" }, "summaryLock": { "type": "boolean" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "tagsLock": { "type": "boolean" }, "title": { "type": "string" }, "titleLock": { "type": "boolean" }, "titleSort": { "type": "string" }, "titleSortLock": { "type": "boolean" }, "totalBookCount": { "type": "integer", "format": "int32" }, "totalBookCountLock": { "type": "boolean" } } }, "SeriesMetadataUpdateDto": { "type": "object", "properties": { "ageRating": { "type": "integer", "format": "int32" }, "ageRatingLock": { "type": "boolean" }, "alternateTitles": { "type": "array", "items": { "$ref": "#/components/schemas/AlternateTitleUpdateDto" } }, "alternateTitlesLock": { "type": "boolean" }, "genres": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "genresLock": { "type": "boolean" }, "language": { "type": "string" }, "languageLock": { "type": "boolean" }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/WebLinkUpdateDto" } }, "linksLock": { "type": "boolean" }, "publisher": { "type": "string" }, "publisherLock": { "type": "boolean" }, "readingDirection": { "type": "string", "enum": [ "LEFT_TO_RIGHT", "RIGHT_TO_LEFT", "VERTICAL", "WEBTOON" ] }, "readingDirectionLock": { "type": "boolean" }, "sharingLabels": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "sharingLabelsLock": { "type": "boolean" }, "status": { "type": "string", "enum": [ "ENDED", "ONGOING", "ABANDONED", "HIATUS" ] }, "statusLock": { "type": "boolean" }, "summary": { "type": "string" }, "summaryLock": { "type": "boolean" }, "tags": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "tagsLock": { "type": "boolean" }, "title": { "type": "string" }, "titleLock": { "type": "boolean" }, "titleSort": { "type": "string" }, "titleSortLock": { "type": "boolean" }, "totalBookCount": { "type": "integer", "format": "int32" }, "totalBookCountLock": { "type": "boolean" } }, "description": "Metadata fields to update. Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update." }, "SeriesSearch": { "type": "object", "properties": { "condition": { "oneOf": [ { "$ref": "#/components/schemas/AgeRating" }, { "$ref": "#/components/schemas/AllOfSeries" }, { "$ref": "#/components/schemas/AnyOfSeries" }, { "$ref": "#/components/schemas/Author" }, { "$ref": "#/components/schemas/CollectionId" }, { "$ref": "#/components/schemas/Complete" }, { "$ref": "#/components/schemas/Deleted" }, { "$ref": "#/components/schemas/Genre" }, { "$ref": "#/components/schemas/Language" }, { "$ref": "#/components/schemas/LibraryId" }, { "$ref": "#/components/schemas/OneShot" }, { "$ref": "#/components/schemas/Publisher" }, { "$ref": "#/components/schemas/ReadStatus" }, { "$ref": "#/components/schemas/ReleaseDate" }, { "$ref": "#/components/schemas/SeriesStatus" }, { "$ref": "#/components/schemas/SharingLabel" }, { "$ref": "#/components/schemas/Tag" }, { "$ref": "#/components/schemas/Title" }, { "$ref": "#/components/schemas/TitleSort" } ] }, "fullTextSearch": { "type": "string" } } }, "SeriesStatus": { "required": [ "seriesStatus" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "seriesStatus": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "SettingMultiSourceInteger": { "required": [ "configurationSource", "databaseSource", "effectiveValue" ], "type": "object", "properties": { "configurationSource": { "type": "integer", "format": "int32" }, "databaseSource": { "type": "integer", "format": "int32" }, "effectiveValue": { "type": "integer", "format": "int32" } } }, "SettingMultiSourceString": { "required": [ "configurationSource", "databaseSource", "effectiveValue" ], "type": "object", "properties": { "configurationSource": { "type": "string" }, "databaseSource": { "type": "string" }, "effectiveValue": { "type": "string" } } }, "SettingsDto": { "required": [ "deleteEmptyCollections", "deleteEmptyReadLists", "kepubifyPath", "koboProxy", "rememberMeDurationDays", "serverContextPath", "serverPort", "taskPoolSize", "thumbnailSize" ], "type": "object", "properties": { "deleteEmptyCollections": { "type": "boolean" }, "deleteEmptyReadLists": { "type": "boolean" }, "kepubifyPath": { "$ref": "#/components/schemas/SettingMultiSourceString" }, "koboPort": { "type": "integer", "format": "int32" }, "koboProxy": { "type": "boolean" }, "rememberMeDurationDays": { "type": "integer", "format": "int64" }, "serverContextPath": { "$ref": "#/components/schemas/SettingMultiSourceString" }, "serverPort": { "$ref": "#/components/schemas/SettingMultiSourceInteger" }, "taskPoolSize": { "type": "integer", "format": "int32" }, "thumbnailSize": { "type": "string", "enum": [ "DEFAULT", "MEDIUM", "LARGE", "XLARGE" ] } } }, "SettingsUpdateDto": { "type": "object", "properties": { "deleteEmptyCollections": { "type": "boolean" }, "deleteEmptyReadLists": { "type": "boolean" }, "kepubifyPath": { "type": "string" }, "koboPort": { "maximum": 65535, "type": "integer", "format": "int32" }, "koboProxy": { "type": "boolean" }, "rememberMeDurationDays": { "type": "integer", "format": "int64" }, "renewRememberMeKey": { "type": "boolean" }, "serverContextPath": { "pattern": "^\\/[\\w-\\/]*[a-zA-Z0-9]$", "type": "string" }, "serverPort": { "maximum": 65535, "type": "integer", "format": "int32" }, "taskPoolSize": { "type": "integer", "format": "int32" }, "thumbnailSize": { "type": "string", "enum": [ "DEFAULT", "MEDIUM", "LARGE", "XLARGE" ] } }, "description": "Fields to update. You can omit fields you don\u0027t want to update." }, "SharedLibrariesUpdateDto": { "required": [ "all", "libraryIds" ], "type": "object", "properties": { "all": { "type": "boolean" }, "libraryIds": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "SharingLabel": { "required": [ "sharingLabel" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "sharingLabel": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" }, { "$ref": "#/components/schemas/IsNotNullT" }, { "$ref": "#/components/schemas/IsNullT" } ] } } } ] }, "SortObject": { "type": "object", "properties": { "empty": { "type": "boolean" }, "sorted": { "type": "boolean" }, "unsorted": { "type": "boolean" } } }, "StreamingResponseBody": { "type": "object" }, "StringOp": { "required": [ "operator" ], "type": "object", "properties": { "operator": { "type": "string" } }, "discriminator": { "propertyName": "operator" } }, "TachiyomiReadProgressDto": { "required": [ "booksCount", "booksInProgressCount", "booksReadCount", "booksUnreadCount", "lastReadContinuousIndex" ], "type": "object", "properties": { "booksCount": { "type": "integer", "format": "int32" }, "booksInProgressCount": { "type": "integer", "format": "int32" }, "booksReadCount": { "type": "integer", "format": "int32" }, "booksUnreadCount": { "type": "integer", "format": "int32" }, "lastReadContinuousIndex": { "type": "integer", "format": "int32" } } }, "TachiyomiReadProgressUpdateDto": { "required": [ "lastBookRead" ], "type": "object", "properties": { "lastBookRead": { "type": "integer", "format": "int32" } } }, "TachiyomiReadProgressUpdateV2Dto": { "required": [ "lastBookNumberSortRead" ], "type": "object", "properties": { "lastBookNumberSortRead": { "type": "number", "format": "float" } } }, "TachiyomiReadProgressV2Dto": { "required": [ "booksCount", "booksInProgressCount", "booksReadCount", "booksUnreadCount", "lastReadContinuousNumberSort", "maxNumberSort" ], "type": "object", "properties": { "booksCount": { "type": "integer", "format": "int32" }, "booksInProgressCount": { "type": "integer", "format": "int32" }, "booksReadCount": { "type": "integer", "format": "int32" }, "booksUnreadCount": { "type": "integer", "format": "int32" }, "lastReadContinuousNumberSort": { "type": "number", "format": "float" }, "maxNumberSort": { "type": "number", "format": "float" } } }, "Tag": { "required": [ "tag" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "tag": { "oneOf": [ { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" }, { "$ref": "#/components/schemas/IsNotNullT" }, { "$ref": "#/components/schemas/IsNullT" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "Text": { "type": "object", "properties": { "after": { "type": "string" }, "before": { "type": "string" }, "highlight": { "type": "string" } } }, "ThumbnailBookDto": { "required": [ "bookId", "fileSize", "height", "id", "mediaType", "selected", "type", "width" ], "type": "object", "properties": { "bookId": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "height": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "mediaType": { "type": "string" }, "selected": { "type": "boolean" }, "type": { "type": "string" }, "width": { "type": "integer", "format": "int32" } } }, "ThumbnailReadListDto": { "required": [ "fileSize", "height", "id", "mediaType", "readListId", "selected", "type", "width" ], "type": "object", "properties": { "fileSize": { "type": "integer", "format": "int64" }, "height": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "mediaType": { "type": "string" }, "readListId": { "type": "string" }, "selected": { "type": "boolean" }, "type": { "type": "string" }, "width": { "type": "integer", "format": "int32" } } }, "ThumbnailSeriesCollectionDto": { "required": [ "collectionId", "fileSize", "height", "id", "mediaType", "selected", "type", "width" ], "type": "object", "properties": { "collectionId": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "height": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "mediaType": { "type": "string" }, "selected": { "type": "boolean" }, "type": { "type": "string" }, "width": { "type": "integer", "format": "int32" } } }, "ThumbnailSeriesDto": { "required": [ "fileSize", "height", "id", "mediaType", "selected", "seriesId", "type", "width" ], "type": "object", "properties": { "fileSize": { "type": "integer", "format": "int64" }, "height": { "type": "integer", "format": "int32" }, "id": { "type": "string" }, "mediaType": { "type": "string" }, "selected": { "type": "boolean" }, "seriesId": { "type": "string" }, "type": { "type": "string" }, "width": { "type": "integer", "format": "int32" } } }, "Title": { "required": [ "title" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "title": { "oneOf": [ { "$ref": "#/components/schemas/BeginsWith" }, { "$ref": "#/components/schemas/Contains" }, { "$ref": "#/components/schemas/DoesNotBeginWith" }, { "$ref": "#/components/schemas/DoesNotContain" }, { "$ref": "#/components/schemas/DoesNotEndWith" }, { "$ref": "#/components/schemas/EndsWith" }, { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } }, { "$ref": "#/components/schemas/Book" } ] }, "TitleSort": { "required": [ "titleSort" ], "type": "object", "allOf": [ { "$ref": "#/components/schemas/Series" }, { "type": "object", "properties": { "titleSort": { "oneOf": [ { "$ref": "#/components/schemas/BeginsWith" }, { "$ref": "#/components/schemas/Contains" }, { "$ref": "#/components/schemas/DoesNotBeginWith" }, { "$ref": "#/components/schemas/DoesNotContain" }, { "$ref": "#/components/schemas/DoesNotEndWith" }, { "$ref": "#/components/schemas/EndsWith" }, { "$ref": "#/components/schemas/Is" }, { "$ref": "#/components/schemas/IsNot" } ] } } } ] }, "TransientBookDto": { "required": [ "comment", "fileLastModified", "files", "id", "mediaType", "name", "pages", "size", "sizeBytes", "status", "url" ], "type": "object", "properties": { "comment": { "type": "string" }, "fileLastModified": { "type": "string", "format": "date-time" }, "files": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "mediaType": { "type": "string" }, "name": { "type": "string" }, "number": { "type": "number", "format": "float" }, "pages": { "type": "array", "items": { "$ref": "#/components/schemas/PageDto" } }, "seriesId": { "type": "string" }, "size": { "type": "string" }, "sizeBytes": { "type": "integer", "format": "int64" }, "status": { "type": "string" }, "url": { "type": "string" } } }, "UserCreationDto": { "required": [ "email", "password", "roles" ], "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" }, "roles": { "type": "array", "items": { "type": "string" } } } }, "UserDto": { "required": [ "email", "id", "labelsAllow", "labelsExclude", "roles", "sharedAllLibraries", "sharedLibrariesIds" ], "type": "object", "properties": { "ageRestriction": { "$ref": "#/components/schemas/AgeRestrictionDto" }, "email": { "type": "string" }, "id": { "type": "string" }, "labelsAllow": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "labelsExclude": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "roles": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "sharedAllLibraries": { "type": "boolean" }, "sharedLibrariesIds": { "uniqueItems": true, "type": "array", "items": { "type": "string" } } } }, "UserUpdateDto": { "type": "object", "properties": { "ageRestriction": { "$ref": "#/components/schemas/AgeRestrictionUpdateDto" }, "labelsAllow": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "labelsExclude": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "roles": { "uniqueItems": true, "type": "array", "items": { "type": "string" } }, "sharedLibraries": { "$ref": "#/components/schemas/SharedLibrariesUpdateDto" } } }, "ValidationErrorResponse": { "required": [ "violations" ], "type": "object", "properties": { "violations": { "type": "array", "items": { "$ref": "#/components/schemas/Violation" } } } }, "Violation": { "type": "object", "properties": { "fieldName": { "type": "string" }, "message": { "type": "string" } } }, "WPBelongsToDto": { "required": [ "collection", "series" ], "type": "object", "properties": { "collection": { "type": "array", "items": { "$ref": "#/components/schemas/WPContributorDto" } }, "series": { "type": "array", "items": { "$ref": "#/components/schemas/WPContributorDto" } } } }, "WPContributorDto": { "required": [ "links", "name" ], "type": "object", "properties": { "links": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "name": { "type": "string" }, "position": { "type": "number", "format": "float" } } }, "WPLinkDto": { "required": [ "properties" ], "type": "object", "properties": { "height": { "type": "integer", "format": "int32" }, "href": { "type": "string" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object" } } }, "rel": { "type": "string" }, "templated": { "type": "boolean" }, "title": { "type": "string" }, "type": { "type": "string" }, "width": { "type": "integer", "format": "int32" } } }, "WPMetadataDto": { "required": [ "artist", "author", "colorist", "contributor", "editor", "illustrator", "inker", "letterer", "penciler", "publisher", "rendition", "subject", "title", "translator" ], "type": "object", "properties": { "artist": { "type": "array", "items": { "type": "string" } }, "author": { "type": "array", "items": { "type": "string" } }, "belongsTo": { "$ref": "#/components/schemas/WPBelongsToDto" }, "colorist": { "type": "array", "items": { "type": "string" } }, "conformsTo": { "type": "string" }, "contributor": { "type": "array", "items": { "type": "string" } }, "description": { "type": "string" }, "editor": { "type": "array", "items": { "type": "string" } }, "identifier": { "type": "string" }, "illustrator": { "type": "array", "items": { "type": "string" } }, "inker": { "type": "array", "items": { "type": "string" } }, "language": { "type": "string" }, "letterer": { "type": "array", "items": { "type": "string" } }, "modified": { "type": "string", "format": "date-time" }, "numberOfPages": { "type": "integer", "format": "int32" }, "penciler": { "type": "array", "items": { "type": "string" } }, "published": { "type": "string", "format": "date" }, "publisher": { "type": "array", "items": { "type": "string" } }, "readingProgression": { "type": "string", "enum": [ "rtl", "ltr", "ttb", "btt", "auto" ] }, "rendition": { "type": "object", "additionalProperties": { "type": "object" } }, "sortAs": { "type": "string" }, "subject": { "type": "array", "items": { "type": "string" } }, "subtitle": { "type": "string" }, "title": { "type": "string" }, "translator": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string" } } }, "WPPublicationDto": { "required": [ "images", "landmarks", "links", "metadata", "pageList", "readingOrder", "resources", "toc" ], "type": "object", "properties": { "context": { "type": "string" }, "images": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "landmarks": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "links": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "metadata": { "$ref": "#/components/schemas/WPMetadataDto" }, "pageList": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "readingOrder": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } }, "toc": { "type": "array", "items": { "$ref": "#/components/schemas/WPLinkDto" } } } }, "WebLinkDto": { "required": [ "label", "url" ], "type": "object", "properties": { "label": { "type": "string" }, "url": { "type": "string" } } }, "WebLinkUpdateDto": { "required": [ "label" ], "type": "object", "properties": { "label": { "type": "string" }, "url": { "type": "string" } } } }, "securitySchemes": { "apiKey": { "in": "header", "name": "X-API-Key", "type": "apiKey" }, "basicAuth": { "scheme": "basic", "type": "http" } } }, "x-tagGroups": [ { "name": "Deprecation", "tags": [ "Deprecated" ] }, { "name": "Libraries", "tags": [ "Libraries" ] }, { "name": "Series", "tags": [ "Series", "Series Poster" ] }, { "name": "Books", "tags": [ "Books", "Book Pages", "Book Poster", "Import", "Duplicate Pages", "WebPub Manifest", "Fonts" ] }, { "name": "Collections", "tags": [ "Collections", "Collection Series", "Collection Poster" ] }, { "name": "Readlists", "tags": [ "Readlists", "Readlist Books", "Readlist Poster" ] }, { "name": "Referential", "tags": [ "Referential metadata" ] }, { "name": "Users", "tags": [ "Current user", "Users", "API Keys", "User session", "OAuth2", "Sync points" ] }, { "name": "Server", "tags": [ "Claim server", "Server settings", "Tasks", "History", "File system", "Releases", "Announcements" ] }, { "name": "Integrations", "tags": [ "Client settings", "Mihon", "ComicRack" ] } ] }