chore: generate a documentation index for REST API docs in docs/api

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia8426a63a50d07a6cec2b104951d58eb6a6a6964
This commit is contained in:
raf 2026-03-23 02:33:54 +03:00
commit 273d0244aa
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
5 changed files with 150 additions and 15 deletions

63
docs/api/openapi.json vendored
View file

@ -1275,7 +1275,7 @@
{
"name": "status",
"in": "query",
"description": "Filter by reading status",
"description": "Filter by reading status. Valid values: to_read, reading, completed, abandoned",
"required": false,
"schema": {
"type": "string"
@ -4704,14 +4704,11 @@
],
"responses": {
"200": {
"description": "Subtitles",
"description": "Subtitles and available embedded tracks",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubtitleResponse"
}
"$ref": "#/components/schemas/SubtitleListResponse"
}
}
}
@ -8529,6 +8526,7 @@
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
@ -11787,6 +11785,28 @@
],
"description": "Response for accessing shared content.\nSingle-media shares return the media object directly (backwards compatible).\nCollection/Tag/SavedSearch shares return a list of items."
},
"SubtitleListResponse": {
"type": "object",
"description": "Response for listing subtitles on a media item.",
"required": [
"subtitles",
"available_tracks"
],
"properties": {
"available_tracks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubtitleTrackInfoResponse"
}
},
"subtitles": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SubtitleResponse"
}
}
}
},
"SubtitleResponse": {
"type": "object",
"required": [
@ -11829,10 +11849,41 @@
"integer",
"null"
],
"format": "int32",
"minimum": 0
}
}
},
"SubtitleTrackInfoResponse": {
"type": "object",
"description": "Information about an embedded subtitle track available for extraction.",
"required": [
"index",
"format"
],
"properties": {
"format": {
"type": "string"
},
"index": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"language": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
}
}
},
"SyncChangeResponse": {
"type": "object",
"required": [