Files
stripstream/komga-openapi.json

14248 lines
346 KiB
JSON

{
"openapi": "3.1.0",
"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.24.1"
},
"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"
},
{
"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"
},
{
"description": "Manage server",
"name": "Management"
},
{
"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": {
"/actuator/info": {
"get": {
"description": "Required role: **ADMIN**",
"operationId": "getActuatorInfo",
"responses": {
"200": {
"content": {
"application/json": {
"examples": {
"Example": {
"value": "{\n \"git\": {\n \"branch\": \"master\",\n \"commit\": {\n \"id\": \"9be980d\",\n \"time\": \"2025-03-12T03:40:38Z\"\n }\n },\n \"build\": {\n \"artifact\": \"komga\",\n \"name\": \"komga\",\n \"version\": \"1.21.2\",\n \"group\": \"komga\"\n },\n \"java\": {\n \"version\": \"23.0.2\",\n \"vendor\": {\n \"name\": \"Eclipse Adoptium\",\n \"version\": \"Temurin-23.0.2+7\"\n },\n \"runtime\": {\n \"name\": \"OpenJDK Runtime Environment\",\n \"version\": \"23.0.2+7\"\n },\n \"jvm\": {\n \"name\": \"OpenJDK 64-Bit Server VM\",\n \"vendor\": \"Eclipse Adoptium\",\n \"version\": \"23.0.2+7\"\n }\n },\n \"os\": {\n \"name\": \"Linux\",\n \"version\": \"6.8.0-57-generic\",\n \"arch\": \"amd64\"\n }\n}"
}
}
}
},
"description": "OK"
}
},
"summary": "Get server information",
"tags": [
"Management"
]
},
"summary": "Get general information about the server"
},
"/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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "getAuthorsDeprecated",
"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": "getAllBooksDeprecated",
"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": "getBooksDuplicates",
"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": "getBooksLatest",
"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": "getBooks",
"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": "updateBookMetadataByBatch",
"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": "booksRegenerateThumbnails",
"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": "getBookById",
"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": "bookAnalyze",
"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": "downloadBookFile",
"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": "downloadBookFile_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": "getBookWebPubManifest",
"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": "getBookWebPubManifestDivina",
"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": "getBookWebPubManifestEpub",
"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": "getBookWebPubManifestPdf",
"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": "updateBookMetadata",
"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": "bookRefreshMetadata",
"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",
"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": "getBookPageByNumber",
"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": "getBookPageRawByNumber",
"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": "getBookPageThumbnailByNumber",
"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": "getBookPositions",
"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",
"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": "getBookProgression",
"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": "updateBookProgression",
"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": "deleteBookReadProgress",
"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": "markBookReadProgress",
"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": "getReadListsByBookId",
"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": "getBookEpubResource",
"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": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"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": "markBookThumbnailSelected",
"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"
]
},
"post": {
"description": "Creates an admin user with the provided credentials.",
"operationId": "claimServer",
"parameters": [
{
"in": "header",
"name": "X-Komga-Email",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "header",
"name": "X-Komga-Password",
"required": true,
"schema": {
"type": "string",
"minLength": 1
}
}
],
"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"
]
}
},
"/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": "deleteGlobalSettings",
"requestBody": {
"content": {
"application/json": {
"example": [
"application.key1",
"application.key2"
],
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "deleteUserSettings",
"requestBody": {
"content": {
"application/json": {
"example": [
"application.key1",
"application.key2"
],
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "getCollections",
"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": "createCollection",
"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": "deleteCollectionById",
"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": "getCollectionById",
"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": "updateCollectionById",
"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": "getSeriesByCollectionId",
"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": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"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": "markCollectionThumbnailSelected",
"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": "getFonts",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "getHistoricalEvents",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "getLibraries",
"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": "addLibrary",
"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": "deleteLibraryById",
"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": "getLibraryById",
"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": "updateLibraryById",
"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": "updateLibraryByIdDeprecated",
"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": "libraryAnalyze",
"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": "libraryEmptyTrash",
"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": "libraryRefreshMetadata",
"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": "libraryScan",
"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": "convertHeaderSessionToCookie",
"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": "getOAuth2Providers",
"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": "deleteDuplicatePagesByPageHash",
"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": "deleteSingleMatchByPageHash",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"description": "OK"
},
"400": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ValidationErrorResponse"
}
}
},
"description": "Bad Request"
}
},
"summary": "List publishers",
"tags": [
"Referential metadata"
]
}
},
"/api/v1/readlists": {
"get": {
"operationId": "getReadLists",
"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": "createReadList",
"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": "matchComicRackList",
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"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": "deleteReadListById",
"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": "getReadListById",
"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": "updateReadListById",
"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": "getBooksByReadListId",
"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": "getBookSiblingNextInReadList",
"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": "getBookSiblingPreviousInReadList",
"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": "downloadReadListAsZip",
"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": "getMihonReadProgressByReadListId",
"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": "updateMihonReadProgressByReadListId",
"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": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"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": "markReadListThumbnailSelected",
"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": "getSeriesDeprecated",
"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": "getSeriesAlphabeticalGroupsDeprecated",
"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": "getSeriesLatest",
"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": "getSeries",
"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": "getSeriesAlphabeticalGroups",
"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": "getSeriesNew",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "getSeriesUpdated",
"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": "getSeriesById",
"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": "seriesAnalyze",
"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": "getBooksBySeriesId",
"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": "getCollectionsBySeriesId",
"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": "deleteSeriesFile",
"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": "downloadSeriesAsZip",
"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": "updateSeriesMetadata",
"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": "seriesRefreshMetadata",
"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": "markSeriesAsUnread",
"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": "markSeriesAsRead",
"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": "getSeriesThumbnail",
"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": "addUserUploadedSeriesThumbnail",
"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": {
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary"
}
},
"required": [
"file"
]
}
}
}
},
"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": "markSeriesThumbnailSelected",
"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": "getServerSettings",
"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": "updateServerSettings",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "deleteSyncPointsForCurrentUser",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"in": "query",
"name": "collection_id",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
}
},
"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": "scanTransientBooks",
"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": "analyzeTransientBook",
"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": "getPageByTransientBookId",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
{
"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": "getMihonReadProgressBySeriesId",
"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": "updateMihonReadProgressBySeriesId",
"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": "getUsers",
"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": "addUser",
"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": "getCurrentUser",
"parameters": [
{
"in": "query",
"name": "remember-me",
"required": false,
"schema": {
"type": "boolean"
}
}
],
"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": "getApiKeysForCurrentUser",
"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": "createApiKeyForCurrentUser",
"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": "deleteApiKeyByKeyId",
"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": "getAuthenticationActivityForCurrentUser",
"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": "updatePasswordForCurrentUser",
"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": "deleteUserById",
"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": "updateUserById",
"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": "getLatestAuthenticationActivityByUserId",
"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": "updatePasswordByUserId",
"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": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
},
{
"type": "object",
"properties": {
"dateTime": {
"type": "string",
"format": "date-time"
}
}
}
],
"required": [
"dateTime"
]
},
"AgeRating": {
"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"
}
]
}
}
}
],
"required": [
"ageRating"
]
},
"AgeRestrictionDto": {
"type": "object",
"properties": {
"age": {
"type": "integer",
"format": "int32"
},
"restriction": {
"type": "string",
"enum": [
"ALLOW_ONLY",
"EXCLUDE"
]
}
},
"required": [
"age",
"restriction"
]
},
"AgeRestrictionUpdateDto": {
"type": "object",
"properties": {
"age": {
"type": "integer",
"format": "int32"
},
"restriction": {
"type": "string",
"enum": [
"ALLOW_ONLY",
"EXCLUDE",
"NONE"
]
}
},
"required": [
"age",
"restriction"
]
},
"AllOfBook": {
"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"
}
]
}
}
}
}
],
"required": [
"allOf"
]
},
"AllOfSeries": {
"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"
}
]
}
}
}
}
],
"required": [
"allOf"
]
},
"AlternateTitleDto": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"label",
"title"
]
},
"AlternateTitleUpdateDto": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"title": {
"type": "string",
"minLength": 1
}
},
"required": [
"label",
"title"
]
},
"AnyOfBook": {
"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"
}
]
}
}
}
}
],
"required": [
"anyOf"
]
},
"AnyOfSeries": {
"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"
}
]
}
}
}
}
],
"required": [
"anyOf"
]
},
"ApiKeyDto": {
"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"
}
},
"required": [
"comment",
"createdDate",
"id",
"key",
"lastModifiedDate",
"userId"
]
},
"ApiKeyRequestDto": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"minLength": 1
}
},
"required": [
"comment"
]
},
"AuthenticationActivityDto": {
"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"
}
},
"required": [
"dateTime",
"success"
]
},
"Author": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"author": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
},
{
"$ref": "#/components/schemas/Book"
}
],
"required": [
"author"
]
},
"AuthorDto": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"role": {
"type": "string"
}
},
"required": [
"name",
"role"
]
},
"AuthorUpdateDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"role": {
"type": "string",
"minLength": 1
}
},
"required": [
"name",
"role"
]
},
"Before": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
},
{
"type": "object",
"properties": {
"dateTime": {
"type": "string",
"format": "date-time"
}
}
}
],
"required": [
"dateTime"
]
},
"BeginsWith": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"Book": {},
"BookDto": {
"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"
}
},
"required": [
"created",
"deleted",
"fileHash",
"fileLastModified",
"id",
"lastModified",
"libraryId",
"media",
"metadata",
"name",
"number",
"oneshot",
"seriesId",
"seriesTitle",
"size",
"sizeBytes",
"url"
]
},
"BookImportBatchDto": {
"type": "object",
"properties": {
"books": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BookImportDto"
}
},
"copyMode": {
"type": "string",
"enum": [
"MOVE",
"COPY",
"HARDLINK"
]
}
},
"required": [
"books",
"copyMode"
]
},
"BookImportDto": {
"type": "object",
"properties": {
"destinationName": {
"type": "string"
},
"seriesId": {
"type": "string"
},
"sourceFile": {
"type": "string"
},
"upgradeBookId": {
"type": "string"
}
},
"required": [
"seriesId",
"sourceFile"
]
},
"BookMetadataAggregationDto": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"required": [
"authors",
"created",
"lastModified",
"summary",
"summaryNumber",
"tags"
]
},
"BookMetadataDto": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"tagsLock": {
"type": "boolean"
},
"title": {
"type": "string"
},
"titleLock": {
"type": "boolean"
}
},
"required": [
"authors",
"authorsLock",
"created",
"isbn",
"isbnLock",
"lastModified",
"links",
"linksLock",
"number",
"numberLock",
"numberSort",
"numberSortLock",
"releaseDateLock",
"summary",
"summaryLock",
"tags",
"tagsLock",
"title",
"titleLock"
]
},
"BookMetadataUpdateDto": {
"type": "object",
"description": "Metadata fields to update. Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update.",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"tagsLock": {
"type": "boolean"
},
"title": {
"type": "string"
},
"titleLock": {
"type": "boolean"
}
}
},
"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": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"ClaimStatus": {
"type": "object",
"properties": {
"isClaimed": {
"type": "boolean"
}
},
"required": [
"isClaimed"
]
},
"ClientSettingDto": {
"type": "object",
"properties": {
"allowUnauthorized": {
"type": "boolean"
},
"value": {
"type": "string"
}
},
"required": [
"value"
]
},
"ClientSettingGlobalUpdateDto": {
"type": "object",
"properties": {
"allowUnauthorized": {
"type": "boolean"
},
"value": {
"type": "string",
"minLength": 1
}
},
"required": [
"allowUnauthorized",
"value"
]
},
"ClientSettingUserUpdateDto": {
"type": "object",
"properties": {
"value": {
"type": "string",
"minLength": 1
}
},
"required": [
"value"
]
},
"CollectionCreationDto": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"ordered": {
"type": "boolean"
},
"seriesIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
},
"required": [
"name",
"ordered",
"seriesIds"
]
},
"CollectionDto": {
"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"
}
}
},
"required": [
"createdDate",
"filtered",
"id",
"lastModifiedDate",
"name",
"ordered",
"seriesIds"
]
},
"CollectionId": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"collectionId": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"collectionId"
]
},
"CollectionUpdateDto": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"ordered": {
"type": "boolean"
},
"seriesIds": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Complete": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"complete": {
"oneOf": [
{
"$ref": "#/components/schemas/IsFalse"
},
{
"$ref": "#/components/schemas/IsTrue"
}
]
}
}
}
],
"required": [
"complete"
]
},
"Contains": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"Date": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"Deleted": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"deleted": {
"oneOf": [
{
"$ref": "#/components/schemas/IsFalse"
},
{
"$ref": "#/components/schemas/IsTrue"
}
]
}
}
},
{
"$ref": "#/components/schemas/Book"
}
],
"required": [
"deleted"
]
},
"DirectoryListingDto": {
"type": "object",
"properties": {
"directories": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PathDto"
}
},
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PathDto"
}
},
"parent": {
"type": "string"
}
},
"required": [
"directories",
"files"
]
},
"DirectoryRequestDto": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"showFiles": {
"type": "boolean"
}
},
"required": [
"path",
"showFiles"
]
},
"DoesNotBeginWith": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"DoesNotContain": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"DoesNotEndWith": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"EndsWith": {
"allOf": [
{
"$ref": "#/components/schemas/StringOp"
},
{
"type": "object",
"properties": {
"value": {
"type": "string"
}
}
}
],
"required": [
"value"
]
},
"EqualityAuthorMatch": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityMediaProfile": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityNullableString": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityPosterMatch": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityReadStatus": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityStatus": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"EqualityString": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"Genre": {
"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"
}
]
}
}
}
],
"required": [
"genre"
]
},
"GreaterThan": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"type": "object",
"properties": {
"value": {}
}
},
{
"$ref": "#/components/schemas/NumericFloat"
}
],
"required": [
"value"
]
},
"GroupCountDto": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"group": {
"type": "string"
}
},
"required": [
"count",
"group"
]
},
"HistoricalEventDto": {
"type": "object",
"properties": {
"bookId": {
"type": "string"
},
"id": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"seriesId": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"type": {
"type": "string"
}
},
"required": [
"id",
"properties",
"timestamp",
"type"
]
},
"Is": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"type": "object",
"properties": {
"value": {}
}
},
{
"$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"
}
],
"required": [
"value"
]
},
"IsFalse": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
}
]
},
"IsInTheLast": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
},
{
"type": "object",
"properties": {
"duration": {
"type": "string"
}
}
}
],
"required": [
"duration"
]
},
"IsNot": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"type": "object",
"properties": {
"value": {}
}
},
{
"$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"
}
],
"required": [
"value"
]
},
"IsNotInTheLast": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
},
{
"type": "object",
"properties": {
"duration": {
"type": "string"
}
}
}
],
"required": [
"duration"
]
},
"IsNotNull": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
}
]
},
"IsNotNullT": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"$ref": "#/components/schemas/EqualityNullableString"
}
]
},
"IsNull": {
"allOf": [
{
"$ref": "#/components/schemas/Date"
}
]
},
"IsNullT": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"$ref": "#/components/schemas/EqualityNullableString"
}
]
},
"IsTrue": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
}
]
},
"ItemDto": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"tags"
]
},
"JsonFeedDto": {
"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"
}
},
"required": [
"items",
"title",
"version"
]
},
"KomgaExtensionDto": {
"type": "object",
"properties": {
"read": {
"type": "boolean"
}
},
"required": [
"read"
]
},
"Language": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"language": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"language"
]
},
"LessThan": {
"allOf": [
{
"$ref": "#/components/schemas/NumericNullableInteger"
},
{
"type": "object",
"properties": {
"value": {}
}
},
{
"$ref": "#/components/schemas/NumericFloat"
}
],
"required": [
"value"
]
},
"LibraryCreationDto": {
"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",
"minLength": 1
},
"oneshotsDirectory": {
"type": "string"
},
"repairExtensions": {
"type": "boolean"
},
"root": {
"type": "string",
"minLength": 1
},
"scanCbx": {
"type": "boolean"
},
"scanDirectoryExclusions": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"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"
]
}
},
"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"
]
},
"LibraryDto": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"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"
}
},
"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"
]
},
"LibraryId": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"libraryId": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
},
{
"$ref": "#/components/schemas/Book"
}
],
"required": [
"libraryId"
]
},
"LibraryUpdateDto": {
"type": "object",
"description": "Fields to update. You can omit fields you don\u0027t want to update.",
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"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"
]
}
}
},
"Location": {
"type": "object",
"properties": {
"fragments": {
"type": "array",
"items": {
"type": "string"
}
},
"position": {
"type": "integer",
"format": "int32"
},
"progression": {
"type": "number",
"format": "float"
},
"totalProgression": {
"type": "number",
"format": "float"
}
},
"required": [
"fragments"
]
},
"MediaDto": {
"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"
}
},
"required": [
"comment",
"epubDivinaCompatible",
"epubIsKepub",
"mediaProfile",
"mediaType",
"pagesCount",
"status"
]
},
"MediaProfile": {
"allOf": [
{
"$ref": "#/components/schemas/Book"
},
{
"type": "object",
"properties": {
"mediaProfile": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"mediaProfile"
]
},
"MediaStatus": {
"allOf": [
{
"$ref": "#/components/schemas/Book"
},
{
"type": "object",
"properties": {
"mediaStatus": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"mediaStatus"
]
},
"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": {
"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"
}
]
}
}
}
],
"required": [
"numberSort"
]
},
"NumericFloat": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"NumericNullableInteger": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"OAuth2ClientDto": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"registrationId": {
"type": "string"
}
},
"required": [
"name",
"registrationId"
]
},
"OneShot": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"oneShot": {
"oneOf": [
{
"$ref": "#/components/schemas/IsFalse"
},
{
"$ref": "#/components/schemas/IsTrue"
}
]
}
}
},
{
"$ref": "#/components/schemas/Book"
}
],
"required": [
"oneShot"
]
},
"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": {
"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"
}
},
"required": [
"fileName",
"mediaType",
"number",
"size"
]
},
"PageHashCreationDto": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"DELETE_AUTO",
"DELETE_MANUAL",
"IGNORE"
]
},
"hash": {
"type": "string",
"minLength": 1
},
"size": {
"type": "integer",
"format": "int64"
}
},
"required": [
"action",
"hash"
]
},
"PageHashKnownDto": {
"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"
}
},
"required": [
"action",
"created",
"deleteCount",
"hash",
"lastModified",
"matchCount"
]
},
"PageHashMatchDto": {
"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"
}
},
"required": [
"bookId",
"fileName",
"fileSize",
"mediaType",
"pageNumber",
"url"
]
},
"PageHashUnknownDto": {
"type": "object",
"properties": {
"hash": {
"type": "string"
},
"matchCount": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int64"
}
},
"required": [
"hash",
"matchCount"
]
},
"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": {
"type": "object",
"properties": {
"password": {
"type": "string",
"minLength": 1
}
},
"required": [
"password"
]
},
"PathDto": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"name",
"path",
"type"
]
},
"Poster": {
"allOf": [
{
"$ref": "#/components/schemas/Book"
},
{
"type": "object",
"properties": {
"poster": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"poster"
]
},
"Publisher": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"publisher": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"publisher"
]
},
"R2Device": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
]
},
"R2Locator": {
"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"
}
},
"required": [
"href",
"type"
]
},
"R2Positions": {
"type": "object",
"properties": {
"positions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/R2Locator"
}
},
"total": {
"type": "integer",
"format": "int32"
}
},
"required": [
"positions",
"total"
]
},
"R2Progression": {
"type": "object",
"properties": {
"device": {
"$ref": "#/components/schemas/R2Device"
},
"locator": {
"$ref": "#/components/schemas/R2Locator"
},
"modified": {
"type": "string",
"format": "date-time"
}
},
"required": [
"device",
"locator",
"modified"
]
},
"ReadListCreationDto": {
"type": "object",
"properties": {
"bookIds": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"name": {
"type": "string",
"minLength": 1
},
"ordered": {
"type": "boolean"
},
"summary": {
"type": "string"
}
},
"required": [
"bookIds",
"name",
"ordered",
"summary"
]
},
"ReadListDto": {
"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"
}
},
"required": [
"bookIds",
"createdDate",
"filtered",
"id",
"lastModifiedDate",
"name",
"ordered",
"summary"
]
},
"ReadListId": {
"allOf": [
{
"$ref": "#/components/schemas/Book"
},
{
"type": "object",
"properties": {
"readListId": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"readListId"
]
},
"ReadListMatchDto": {
"type": "object",
"properties": {
"errorCode": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"errorCode",
"name"
]
},
"ReadListRequestBookDto": {
"type": "object",
"properties": {
"number": {
"type": "string"
},
"series": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"required": [
"number",
"series"
]
},
"ReadListRequestBookMatchBookDto": {
"type": "object",
"properties": {
"bookId": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"bookId",
"number",
"title"
]
},
"ReadListRequestBookMatchDto": {
"type": "object",
"properties": {
"books": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReadListRequestBookMatchBookDto"
}
},
"series": {
"$ref": "#/components/schemas/ReadListRequestBookMatchSeriesDto"
}
},
"required": [
"books",
"series"
]
},
"ReadListRequestBookMatchSeriesDto": {
"type": "object",
"properties": {
"releaseDate": {
"type": "string",
"format": "date"
},
"seriesId": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"seriesId",
"title"
]
},
"ReadListRequestBookMatchesDto": {
"type": "object",
"properties": {
"matches": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReadListRequestBookMatchDto"
}
},
"request": {
"$ref": "#/components/schemas/ReadListRequestBookDto"
}
},
"required": [
"matches",
"request"
]
},
"ReadListRequestMatchDto": {
"type": "object",
"properties": {
"errorCode": {
"type": "string"
},
"readListMatch": {
"$ref": "#/components/schemas/ReadListMatchDto"
},
"requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReadListRequestBookMatchesDto"
}
}
},
"required": [
"errorCode",
"readListMatch",
"requests"
]
},
"ReadListUpdateDto": {
"type": "object",
"properties": {
"bookIds": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string"
},
"ordered": {
"type": "boolean"
},
"summary": {
"type": "string"
}
}
},
"ReadProgressDto": {
"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"
}
},
"required": [
"completed",
"created",
"deviceId",
"deviceName",
"lastModified",
"page",
"readDate"
]
},
"ReadProgressUpdateDto": {
"type": "object",
"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.",
"properties": {
"completed": {
"type": "boolean"
},
"page": {
"type": "integer",
"format": "int32"
}
}
},
"ReadStatus": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"readStatus": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
},
{
"$ref": "#/components/schemas/Book"
}
],
"required": [
"readStatus"
]
},
"ReleaseDate": {
"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"
}
],
"required": [
"releaseDate"
]
},
"ReleaseDto": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"latest": {
"type": "boolean"
},
"preRelease": {
"type": "boolean"
},
"releaseDate": {
"type": "string",
"format": "date-time"
},
"url": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"description",
"latest",
"preRelease",
"releaseDate",
"url",
"version"
]
},
"ScanRequestDto": {
"type": "object",
"properties": {
"path": {
"type": "string"
}
},
"required": [
"path"
]
},
"Series": {},
"SeriesDto": {
"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"
}
},
"required": [
"booksCount",
"booksInProgressCount",
"booksMetadata",
"booksReadCount",
"booksUnreadCount",
"created",
"deleted",
"fileLastModified",
"id",
"lastModified",
"libraryId",
"metadata",
"name",
"oneshot",
"url"
]
},
"SeriesId": {
"allOf": [
{
"$ref": "#/components/schemas/Book"
},
{
"type": "object",
"properties": {
"seriesId": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"seriesId"
]
},
"SeriesMetadataDto": {
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sharingLabelsLock": {
"type": "boolean"
},
"status": {
"type": "string"
},
"statusLock": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"summaryLock": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"tagsLock": {
"type": "boolean"
},
"title": {
"type": "string"
},
"titleLock": {
"type": "boolean"
},
"titleSort": {
"type": "string"
},
"titleSortLock": {
"type": "boolean"
},
"totalBookCount": {
"type": "integer",
"format": "int32"
},
"totalBookCountLock": {
"type": "boolean"
}
},
"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"
]
},
"SeriesMetadataUpdateDto": {
"type": "object",
"description": "Metadata fields to update. Set a field to null to unset the metadata. You can omit fields you don\u0027t want to update.",
"properties": {
"ageRating": {
"type": "integer",
"format": "int32"
},
"ageRatingLock": {
"type": "boolean"
},
"alternateTitles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AlternateTitleUpdateDto"
}
},
"alternateTitlesLock": {
"type": "boolean"
},
"genres": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"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": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sharingLabelsLock": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"ENDED",
"ONGOING",
"ABANDONED",
"HIATUS"
]
},
"statusLock": {
"type": "boolean"
},
"summary": {
"type": "string"
},
"summaryLock": {
"type": "boolean"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"tagsLock": {
"type": "boolean"
},
"title": {
"type": "string"
},
"titleLock": {
"type": "boolean"
},
"titleSort": {
"type": "string"
},
"titleSortLock": {
"type": "boolean"
},
"totalBookCount": {
"type": "integer",
"format": "int32"
},
"totalBookCountLock": {
"type": "boolean"
}
}
},
"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": {
"allOf": [
{
"$ref": "#/components/schemas/Series"
},
{
"type": "object",
"properties": {
"seriesStatus": {
"oneOf": [
{
"$ref": "#/components/schemas/Is"
},
{
"$ref": "#/components/schemas/IsNot"
}
]
}
}
}
],
"required": [
"seriesStatus"
]
},
"SettingMultiSourceInteger": {
"type": "object",
"properties": {
"configurationSource": {
"type": "integer",
"format": "int32"
},
"databaseSource": {
"type": "integer",
"format": "int32"
},
"effectiveValue": {
"type": "integer",
"format": "int32"
}
},
"required": [
"configurationSource",
"databaseSource",
"effectiveValue"
]
},
"SettingMultiSourceString": {
"type": "object",
"properties": {
"configurationSource": {
"type": "string"
},
"databaseSource": {
"type": "string"
},
"effectiveValue": {
"type": "string"
}
},
"required": [
"configurationSource",
"databaseSource",
"effectiveValue"
]
},
"SettingsDto": {
"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"
]
}
},
"required": [
"deleteEmptyCollections",
"deleteEmptyReadLists",
"kepubifyPath",
"koboProxy",
"rememberMeDurationDays",
"serverContextPath",
"serverPort",
"taskPoolSize",
"thumbnailSize"
]
},
"SettingsUpdateDto": {
"type": "object",
"description": "Fields to update. You can omit fields you don\u0027t want to update.",
"properties": {
"deleteEmptyCollections": {
"type": "boolean"
},
"deleteEmptyReadLists": {
"type": "boolean"
},
"kepubifyPath": {
"type": "string",
"deprecated": true,
"description": "Will be removed in a future version"
},
"koboPort": {
"type": "integer",
"format": "int32",
"maximum": 65535
},
"koboProxy": {
"type": "boolean"
},
"rememberMeDurationDays": {
"type": "integer",
"format": "int64"
},
"renewRememberMeKey": {
"type": "boolean"
},
"serverContextPath": {
"type": "string",
"pattern": "^/[\\w-/]*[a-zA-Z0-9]$"
},
"serverPort": {
"type": "integer",
"format": "int32",
"maximum": 65535
},
"taskPoolSize": {
"type": "integer",
"format": "int32"
},
"thumbnailSize": {
"type": "string",
"enum": [
"DEFAULT",
"MEDIUM",
"LARGE",
"XLARGE"
]
}
}
},
"SharedLibrariesUpdateDto": {
"type": "object",
"properties": {
"all": {
"type": "boolean"
},
"libraryIds": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"required": [
"all",
"libraryIds"
]
},
"SharingLabel": {
"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"
}
]
}
}
}
],
"required": [
"sharingLabel"
]
},
"SortObject": {
"type": "object",
"properties": {
"empty": {
"type": "boolean"
},
"sorted": {
"type": "boolean"
},
"unsorted": {
"type": "boolean"
}
}
},
"StreamingResponseBody": {},
"StringOp": {
"discriminator": {
"propertyName": "operator"
},
"properties": {
"operator": {
"type": "string"
}
},
"required": [
"operator"
]
},
"TachiyomiReadProgressDto": {
"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"
}
},
"required": [
"booksCount",
"booksInProgressCount",
"booksReadCount",
"booksUnreadCount",
"lastReadContinuousIndex"
]
},
"TachiyomiReadProgressUpdateDto": {
"type": "object",
"properties": {
"lastBookRead": {
"type": "integer",
"format": "int32"
}
},
"required": [
"lastBookRead"
]
},
"TachiyomiReadProgressUpdateV2Dto": {
"type": "object",
"properties": {
"lastBookNumberSortRead": {
"type": "number",
"format": "float"
}
},
"required": [
"lastBookNumberSortRead"
]
},
"TachiyomiReadProgressV2Dto": {
"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"
}
},
"required": [
"booksCount",
"booksInProgressCount",
"booksReadCount",
"booksUnreadCount",
"lastReadContinuousNumberSort",
"maxNumberSort"
]
},
"Tag": {
"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"
}
],
"required": [
"tag"
]
},
"Text": {
"type": "object",
"properties": {
"after": {
"type": "string"
},
"before": {
"type": "string"
},
"highlight": {
"type": "string"
}
}
},
"ThumbnailBookDto": {
"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"
}
},
"required": [
"bookId",
"fileSize",
"height",
"id",
"mediaType",
"selected",
"type",
"width"
]
},
"ThumbnailReadListDto": {
"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"
}
},
"required": [
"fileSize",
"height",
"id",
"mediaType",
"readListId",
"selected",
"type",
"width"
]
},
"ThumbnailSeriesCollectionDto": {
"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"
}
},
"required": [
"collectionId",
"fileSize",
"height",
"id",
"mediaType",
"selected",
"type",
"width"
]
},
"ThumbnailSeriesDto": {
"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"
}
},
"required": [
"fileSize",
"height",
"id",
"mediaType",
"selected",
"seriesId",
"type",
"width"
]
},
"Title": {
"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"
}
],
"required": [
"title"
]
},
"TitleSort": {
"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"
}
]
}
}
}
],
"required": [
"titleSort"
]
},
"TransientBookDto": {
"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"
}
},
"required": [
"comment",
"fileLastModified",
"files",
"id",
"mediaType",
"name",
"pages",
"size",
"sizeBytes",
"status",
"url"
]
},
"UserCreationDto": {
"type": "object",
"properties": {
"ageRestriction": {
"$ref": "#/components/schemas/AgeRestrictionUpdateDto"
},
"email": {
"type": "string"
},
"labelsAllow": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"labelsExclude": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"password": {
"type": "string",
"minLength": 1
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"sharedLibraries": {
"$ref": "#/components/schemas/SharedLibrariesUpdateDto"
}
},
"required": [
"email",
"password",
"roles"
]
},
"UserDto": {
"type": "object",
"properties": {
"ageRestriction": {
"$ref": "#/components/schemas/AgeRestrictionDto"
},
"email": {
"type": "string"
},
"id": {
"type": "string"
},
"labelsAllow": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"labelsExclude": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sharedAllLibraries": {
"type": "boolean"
},
"sharedLibrariesIds": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"required": [
"email",
"id",
"labelsAllow",
"labelsExclude",
"roles",
"sharedAllLibraries",
"sharedLibrariesIds"
]
},
"UserUpdateDto": {
"type": "object",
"properties": {
"ageRestriction": {
"$ref": "#/components/schemas/AgeRestrictionUpdateDto"
},
"labelsAllow": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"labelsExclude": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"roles": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"sharedLibraries": {
"$ref": "#/components/schemas/SharedLibrariesUpdateDto"
}
}
},
"ValidationErrorResponse": {
"type": "object",
"properties": {
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Violation"
}
}
},
"required": [
"violations"
]
},
"Violation": {
"type": "object",
"properties": {
"fieldName": {
"type": "string"
},
"message": {
"type": "string"
}
}
},
"WPBelongsToDto": {
"type": "object",
"properties": {
"collection": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WPContributorDto"
}
},
"series": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WPContributorDto"
}
}
},
"required": [
"collection",
"series"
]
},
"WPContributorDto": {
"type": "object",
"properties": {
"links": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WPLinkDto"
}
},
"name": {
"type": "string"
},
"position": {
"type": "number",
"format": "float"
}
},
"required": [
"links",
"name"
]
},
"WPLinkDto": {
"type": "object",
"properties": {
"height": {
"type": "integer",
"format": "int32"
},
"href": {
"type": "string"
},
"properties": {
"type": "object",
"additionalProperties": {
"type": "object",
"additionalProperties": {}
}
},
"rel": {
"type": "string"
},
"templated": {
"type": "boolean"
},
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"width": {
"type": "integer",
"format": "int32"
}
},
"required": [
"properties"
]
},
"WPMetadataDto": {
"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": {}
},
"sortAs": {
"type": "string"
},
"subject": {
"type": "array",
"items": {
"type": "string"
}
},
"subtitle": {
"type": "string"
},
"title": {
"type": "string"
},
"translator": {
"type": "array",
"items": {
"type": "string"
}
},
"type": {
"type": "string"
}
},
"required": [
"artist",
"author",
"colorist",
"contributor",
"editor",
"illustrator",
"inker",
"letterer",
"penciler",
"publisher",
"rendition",
"subject",
"title",
"translator"
]
},
"WPPublicationDto": {
"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"
}
}
},
"required": [
"images",
"landmarks",
"links",
"metadata",
"pageList",
"readingOrder",
"resources",
"toc"
]
},
"WebLinkDto": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"label",
"url"
]
},
"WebLinkUpdateDto": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"url": {
"type": "string"
}
},
"required": [
"label"
]
}
},
"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 settings",
"Tasks",
"History",
"File system",
"Releases",
"Announcements",
"Management"
]
},
{
"name": "Integrations",
"tags": [
"Client settings",
"Mihon",
"ComicRack"
]
}
]
}