diff --git a/openapi.json b/openapi.json index d5831d74b..bfcb28ef8 100644 --- a/openapi.json +++ b/openapi.json @@ -2,12 +2,12 @@ "openapi": "3.0.4", "info": { "title": "Kavita", - "description": "Kavita provides a set of APIs that are authenticated by JWT. JWT token can be copied from local storage. Assume all fields of a payload are required. Built against v0.8.6.12", + "description": "Kavita provides a set of APIs that are authenticated by JWT. JWT token can be copied from local storage. Assume all fields of a payload are required. Built against v0.8.6.14", "license": { "name": "GPL-3.0", "url": "https://github.com/Kareadita/Kavita/blob/develop/LICENSE" }, - "version": "0.8.6.12" + "version": "0.8.6.14" }, "servers": [ { @@ -4065,6 +4065,64 @@ } } }, + "/api/Metadata/genres-with-counts": { + "post": { + "tags": [ + "Metadata" + ], + "summary": "Returns a list of Genres with counts for counts when Genre is on Series/Chapter", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseGenreDto" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseGenreDto" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseGenreDto" + } + } + } + } + } + } + } + }, "/api/Metadata/people-by-role": { "get": { "tags": [ @@ -4229,6 +4287,64 @@ } } }, + "/api/Metadata/tags-with-counts": { + "post": { + "tags": [ + "Metadata" + ], + "summary": "Returns a list of Tags with counts for counts when Tag is on Series/Chapter", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UserParams" + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "content": { + "text/plain": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseTagDto" + } + } + }, + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseTagDto" + } + } + }, + "text/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/BrowseTagDto" + } + } + } + } + } + } + } + }, "/api/Metadata/age-ratings": { "get": { "tags": [ @@ -5644,6 +5760,25 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BrowsePersonFilterDto" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BrowsePersonFilterDto" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/BrowsePersonFilterDto" + } + } + } + }, "responses": { "200": { "description": "OK", @@ -17065,6 +17200,17 @@ "format": "int32", "nullable": true }, + "disableWidthOverride": { + "enum": [ + 0, + 1, + 2, + 3 + ], + "type": "integer", + "description": "Manga Reader Option: Disable the width override if the screen is past the breakpoint", + "format": "int32" + }, "bookReaderMargin": { "type": "integer", "description": "Book Reader Option: Override extra Margin", @@ -17595,6 +17741,33 @@ }, "additionalProperties": false }, + "BrowseGenreDto": { + "required": [ + "title" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "seriesCount": { + "type": "integer", + "description": "Number of Series this Entity is on", + "format": "int32" + }, + "chapterCount": { + "type": "integer", + "description": "Number of Chapters this Entity is on", + "format": "int32" + } + }, + "additionalProperties": false + }, "BrowsePersonDto": { "required": [ "name" @@ -17660,15 +17833,81 @@ "description": "Number of Series this Person is the Writer for", "format": "int32" }, - "issueCount": { + "chapterCount": { "type": "integer", - "description": "Number or Issues this Person is the Writer for", + "description": "Number of Issues this Person is the Writer for", "format": "int32" } }, "additionalProperties": false, "description": "Used to browse writers and click in to see their series" }, + "BrowsePersonFilterDto": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "Not used - For parity with Series Filter", + "format": "int32" + }, + "name": { + "type": "string", + "description": "Not used - For parity with Series Filter", + "nullable": true + }, + "statements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PersonFilterStatementDto" + }, + "nullable": true + }, + "combination": { + "enum": [ + 0, + 1 + ], + "type": "integer", + "format": "int32" + }, + "sortOptions": { + "$ref": "#/components/schemas/PersonSortOptions" + }, + "limitTo": { + "type": "integer", + "description": "Limit the number of rows returned. Defaults to not applying a limit (aka 0)", + "format": "int32" + } + }, + "additionalProperties": false + }, + "BrowseTagDto": { + "required": [ + "title" + ], + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string", + "nullable": true + }, + "seriesCount": { + "type": "integer", + "description": "Number of Series this Entity is on", + "format": "int32" + }, + "chapterCount": { + "type": "integer", + "description": "Number of Chapters this Entity is on", + "format": "int32" + } + }, + "additionalProperties": false + }, "BulkActionDto": { "type": "object", "properties": { @@ -21235,6 +21474,11 @@ "description": "Represents an option in the UI layer for Filtering", "format": "int32" }, + "libraryType": { + "type": "integer", + "description": "Library Type in int form. -1 indicates to ignore the field.", + "format": "int32" + }, "searchTerm": { "type": "string", "nullable": true @@ -22032,6 +22276,49 @@ }, "additionalProperties": false }, + "PersonFilterStatementDto": { + "type": "object", + "properties": { + "comparison": { + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "type": "integer", + "format": "int32" + }, + "field": { + "enum": [ + 1, + 2, + 3, + 4 + ], + "type": "integer", + "format": "int32" + }, + "value": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false + }, "PersonMergeDto": { "required": [ "destId", @@ -22052,6 +22339,25 @@ }, "additionalProperties": false }, + "PersonSortOptions": { + "type": "object", + "properties": { + "sortField": { + "enum": [ + 1, + 2, + 3 + ], + "type": "integer", + "format": "int32" + }, + "isAscending": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "All Sorting Options for a query related to Person Entity" + }, "PersonalToCDto": { "required": [ "chapterId", @@ -22484,6 +22790,11 @@ "type": "integer", "description": "The highest age rating from all Series within the reading list", "format": "int32" + }, + "ownerUserName": { + "type": "string", + "description": "Username of the User that owns (in the case of a promoted list)", + "nullable": true } }, "additionalProperties": false @@ -26674,6 +26985,21 @@ }, "additionalProperties": false }, + "UserParams": { + "type": "object", + "properties": { + "pageNumber": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "description": "If set to 0, will set as MaxInt", + "format": "int32" + } + }, + "additionalProperties": false + }, "UserPreferencesDto": { "required": [ "blurUnreadSummaries", @@ -26885,6 +27211,16 @@ "format": "int32", "nullable": true }, + "disableWidthOverride": { + "enum": [ + 0, + 1, + 2, + 3 + ], + "type": "integer", + "format": "int32" + }, "bookReaderMargin": { "type": "integer", "format": "int32"