audiobookshelf/docs/openapi.json

4146 lines
123 KiB
JSON
Raw Permalink Normal View History

Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
{
"openapi": "3.0.0",
"info": {
"title": "Audiobookshelf API",
"version": "0.1.0",
"description": "Audiobookshelf API with autogenerated OpenAPI doc"
},
"servers": [
{
"url": "http://localhost:3000",
"description": "Development server"
}
],
"security": [
{
"BearerAuth": []
}
],
"tags": [
{
"name": "Authors",
"description": "Author endpoints"
},
{
"name": "Libraries",
"description": "Library endpoints"
},
{
"name": "Series",
"description": "Series endpoints"
},
2024-07-04 05:48:22 +02:00
{
"name": "Email",
"description": "Email endpoints"
},
{
"name": "Notification",
"description": "Notifications endpoints"
},
{
"name": "Podcasts",
"description": "Podcast endpoints"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
],
"paths": {
"/api/authors/{id}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Author ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/authorId"
}
}
],
"get": {
"operationId": "getAuthorById",
"summary": "Get an author by ID",
"description": "Get an author by ID. The author's books and series can be included in the response.",
"tags": [
"Authors"
],
"parameters": [
{
"in": "query",
"name": "include",
"description": "A comma separated list of what to include with the author. The options are `items` and `series`. `series` will only have an effect if `items` is included. For example, the value `items,series` will include both library items and series.",
"allowReserved": true,
"schema": {
"type": "string"
},
"example": "items,series"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getAuthorById OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/author"
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
},
"patch": {
"operationId": "updateAuthorById",
"summary": "Update an author by ID",
"description": "Update an author by ID. The author's name and description can be updated. This endpoint will merge two authors if the new author name matches another author name in the database.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"description": "The author object to update.",
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"$ref": "#/components/schemas/authorName"
},
"description": {
"$ref": "#/components/schemas/authorDescription"
},
"imagePath": {
"$ref": "#/components/schemas/authorImagePath"
},
"asin": {
"$ref": "#/components/schemas/authorAsin"
}
}
}
}
}
},
"responses": {
"200": {
"description": "updateAuthorById OK",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/author"
},
{
"$ref": "#/components/schemas/authorUpdated"
},
{
"$ref": "#/components/schemas/authorMerged"
}
]
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
},
"delete": {
"operationId": "deleteAuthorById",
"summary": "Delete an author by ID",
"description": "Delete an author by ID. This will remove the author from all books.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "deleteAuthorById OK",
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Author deleted."
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
}
},
"/api/authors/{id}/image": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Author ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/authorId"
}
},
{
"name": "token",
"in": "query",
"description": "API token",
"schema": {
"type": "string"
}
},
{
"name": "ts",
"in": "query",
"description": "Updated at value",
"schema": {
"type": "integer"
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
],
"get": {
"operationId": "getAuthorImageById",
"summary": "Get an author image by author ID",
"description": "Get an author image by author ID. The image will be returned in the requested format and size.",
"security": [],
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"required": false,
"description": "The author image to get.",
"content": {
"application/json": {
"schema": {
"properties": {
"width": {
"$ref": "#/components/schemas/imageWidth"
},
"height": {
"$ref": "#/components/schemas/imageHeight"
},
"format": {
"$ref": "#/components/schemas/imageFormat"
},
"raw": {
"$ref": "#/components/schemas/imageRaw"
}
}
}
}
}
},
"responses": {
"200": {
"description": "getAuthorImageById OK",
"content": {
"image/webp": {
"schema": {
"type": "string",
"format": "binary"
}
},
"image/jpeg": {
"schema": {
"type": "string",
"format": "binary"
}
},
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
},
"post": {
"operationId": "addAuthorImageById",
"summary": "Add an author image to the server",
"description": "Add an author image to the server. The image will be downloaded from the provided URL and stored on the server.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"required": true,
"description": "The author image to add by URL.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/imageUrl"
}
}
}
},
"responses": {
"200": {
"description": "addAuthorImageById OK",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
},
"patch": {
"operationId": "updateAuthorImageById",
"summary": "Update an author image by author ID",
"description": "Update an author image by author ID. The image will be resized if the width, height, or format is provided.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"description": "The author image to update.",
"content": {
"application/json": {
"schema": {
"properties": {
"width": {
"$ref": "#/components/schemas/imageWidth"
},
"height": {
"$ref": "#/components/schemas/imageHeight"
},
"format": {
"$ref": "#/components/schemas/imageFormat"
},
"raw": {
"$ref": "#/components/schemas/imageRaw"
}
}
}
}
}
},
"responses": {
"200": {
"description": "updateAuthorImageById OK",
"content": {
"image/*": {
"schema": {
"type": "string",
"format": "binary"
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
},
"delete": {
"operationId": "deleteAuthorImageById",
"summary": "Delete an author image by author ID",
"description": "Delete an author image by author ID. This will remove the image from the server and the database.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "deleteAuthorImageById OK"
},
"404": {
"$ref": "#/components/responses/author404"
}
}
}
},
"/api/authors/{id}/match": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Author ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/authorId"
}
}
],
"post": {
"operationId": "matchAuthorById",
"summary": "Match the author against Audible using quick match",
"description": "Match the author against Audible using quick match. Quick match updates the author's description and image (if no image already existed) with information from audible. Either `asin` or `q` must be provided, with `asin` taking priority if both are provided.",
"tags": [
"Authors"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"required": true,
"description": "The author object to match against an online provider.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"q": {
"$ref": "#/components/schemas/authorSearchName"
},
"asin": {
"$ref": "#/components/schemas/authorAsin"
},
"region": {
"$ref": "#/components/schemas/region"
}
}
}
}
}
},
"responses": {
"200": {
"description": "matchAuthorById OK",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/author"
},
{
"$ref": "#/components/schemas/authorUpdated"
}
]
}
}
}
},
"404": {
"$ref": "#/components/responses/author404"
}
}
}
},
2024-07-04 05:51:54 +02:00
"/api/emails/settings": {
2024-07-04 05:48:22 +02:00
"get": {
2024-07-09 03:55:55 +02:00
"summary": "Get email settings",
"description": "Get email settings for sending e-books to e-readers.",
2024-07-04 05:48:22 +02:00
"operationId": "getEmailSettings",
"tags": [
"Email"
],
"responses": {
"200": {
"$ref": "#/components/responses/email200"
}
}
},
"patch": {
"summary": "Update email settings",
"operationId": "updateEmailSettings",
"tags": [
"Email"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailSettings"
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/email200"
}
}
}
},
"/api/emails/test": {
"post": {
"summary": "Send test email",
"operationId": "sendTestEmail",
"tags": [
"Email"
],
"responses": {
"200": {
"description": "Successful response"
}
}
}
},
"/api/emails/ereader-devices": {
"post": {
"summary": "Update e-reader devices",
"operationId": "updateEReaderDevices",
"tags": [
"Email"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ereaderDevices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EreaderDeviceObject"
}
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/ereader200"
},
"400": {
"description": "Invalid payload"
}
}
}
},
"/api/emails/send-ebook-to-device": {
"post": {
"summary": "Send ebook to device",
"operationId": "sendEBookToDevice",
"tags": [
"Email"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"libraryItemId": {
"$ref": "#/components/schemas/libraryItemId"
},
"deviceName": {
"$ref": "#/components/schemas/ereaderName"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response"
},
"400": {
"description": "Invalid request"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
}
},
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"/api/libraries": {
"get": {
"operationId": "getLibraries",
"summary": "Get all libraries on server",
"description": "Get all libraries on server.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getLibraries OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"libraries": {
"type": "array",
"items": {
"$ref": "#/components/schemas/library"
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
}
}
}
},
"post": {
"operationId": "createLibrary",
"summary": "Create a new library on server",
"description": "Create a new library on server.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"description": "The library object to create.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"name",
"folders"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"name": {
"$ref": "#/components/schemas/libraryName"
},
"folders": {
"$ref": "#/components/schemas/libraryFolders"
},
"displayOrder": {
"$ref": "#/components/schemas/libraryDisplayOrder"
},
"icon": {
"$ref": "#/components/schemas/libraryIcon"
},
"mediaType": {
"$ref": "#/components/schemas/libraryMediaType"
},
"provider": {
"$ref": "#/components/schemas/libraryProvider"
},
"settings": {
"$ref": "#/components/schemas/librarySettings"
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/library200"
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
}
],
"get": {
"operationId": "getLibraryById",
"summary": "Get a single library by ID on server",
"description": "Get a single library by ID on server.",
"tags": [
"Libraries"
],
"parameters": [
{
"in": "query",
"name": "include",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/minified"
}
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"$ref": "#/components/responses/library200"
},
"404": {
"$ref": "#/components/responses/library404"
}
}
},
"patch": {
"operationId": "updateLibraryById",
"summary": "Update a single library by ID on server",
"description": "Update a single library by ID on server.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"required": true,
"description": "The library object to update.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"$ref": "#/components/schemas/libraryName"
},
"folders": {
"$ref": "#/components/schemas/libraryFolders"
},
"displayOrder": {
"$ref": "#/components/schemas/libraryDisplayOrder"
},
"icon": {
"$ref": "#/components/schemas/libraryIcon"
},
"mediaType": {
"$ref": "#/components/schemas/libraryMediaType"
},
"provider": {
"$ref": "#/components/schemas/libraryProvider"
},
"settings": {
"$ref": "#/components/schemas/librarySettings"
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/library200"
},
"404": {
"$ref": "#/components/responses/library404"
}
}
},
"delete": {
"operationId": "deleteLibraryById",
"summary": "Delete a single library by ID on server",
"description": "Delete a single library by ID on server and return the deleted object.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"$ref": "#/components/responses/library200"
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}/authors": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
}
],
"get": {
"operationId": "getLibraryAuthors",
"summary": "Get all authors in a library",
"description": "Get all authors in a library by ID on server.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getLibraryAuthors OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"authors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/authorExpanded"
}
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}/items": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
}
],
"get": {
"operationId": "getLibraryItems",
"summary": "Get items in a library",
"description": "Get items in a library by ID on server.",
"tags": [
"Libraries"
],
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/page"
},
{
"in": "query",
"name": "sort",
"description": "The field to sort by from the request.",
"example": "numBooks",
"schema": {
"type": "string",
"default": "name"
}
},
{
"$ref": "#/components/parameters/desc"
},
{
"in": "query",
"name": "filter",
"description": "The filter for the library.",
"example": "media.metadata.title",
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "include",
"description": "The fields to include in the response. The only current option is `rssfeed`.",
"allowReserved": true,
"example": "rssfeed",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/minified"
},
{
"in": "query",
"name": "collapseSeries",
"description": "Whether to collapse series into a single cover",
"schema": {
"type": "integer",
"default": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getLibraryItems OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemBase"
}
},
"total": {
"$ref": "#/components/schemas/total"
},
"limit": {
"$ref": "#/components/schemas/limit"
},
"page": {
"$ref": "#/components/schemas/page"
},
"sortBy": {
"$ref": "#/components/schemas/sortBy"
},
"sortDesc": {
"$ref": "#/components/schemas/sortDesc"
},
"filterBy": {
"$ref": "#/components/schemas/filterBy"
},
"mediaType": {
"$ref": "#/components/schemas/mediaType"
},
"minified": {
"$ref": "#/components/schemas/minified"
},
"collapseSeries": {
"$ref": "#/components/schemas/collapseSeries"
},
"include": {
"$ref": "#/components/schemas/libraryInclude"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}/issues": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
}
],
"delete": {
"operationId": "deleteLibraryIssues",
"summary": "Delete items with issues in a library.",
"description": "Delete all items with issues in a library by library ID on the server. This only removes the items from the ABS database and does not delete media files.",
"tags": [
"Libraries"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "deleteLibraryIssues OK",
"content": {
"application/json": {
"schema": {
"type": "string",
"example": "Issues deleted."
}
}
}
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}/series": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
}
],
"get": {
"operationId": "getLibrarySeries",
"summary": "Get library series",
"description": "Get series in a library. Filtering and sorting can be applied.",
"tags": [
"Libraries"
],
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/page"
},
{
"in": "query",
"name": "sort",
"description": "The field to sort by from the request.",
"example": "numBooks",
"schema": {
"type": "string",
"enum": [
"name",
"numBooks",
"totalDuration",
"addedAt",
"lastBookAdded",
"lastBookUpdated"
],
"default": "name"
}
},
{
"$ref": "#/components/parameters/desc"
},
{
"in": "query",
"name": "filter",
"description": "The filter for the library.",
"example": "media.metadata.title",
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "include",
"description": "The fields to include in the response. The only current option is `rssfeed`.",
"allowReserved": true,
"example": "rssfeed",
"schema": {
"type": "string"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
},
{
"$ref": "#/components/parameters/minified"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getLibrarySeries OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/seriesBooks"
}
},
"total": {
"$ref": "#/components/schemas/total"
},
"limit": {
"$ref": "#/components/schemas/limit"
},
"page": {
"$ref": "#/components/schemas/page"
},
"sortBy": {
"$ref": "#/components/schemas/sortBy"
},
"sortDesc": {
"$ref": "#/components/schemas/sortDesc"
},
"filterBy": {
"$ref": "#/components/schemas/filterBy"
},
"minified": {
"$ref": "#/components/schemas/minified"
},
"include": {
"$ref": "#/components/schemas/libraryInclude"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/libraries/{id}/series/{seriesId}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the library.",
"required": true,
"schema": {
"$ref": "#/components/schemas/libraryId"
}
},
{
"name": "seriesId",
"in": "path",
"description": "The ID of the series.",
"required": true,
"schema": {
"$ref": "#/components/schemas/seriesId"
}
}
],
"get": {
"operationId": "getLibrarySeriesById",
"summary": "Get single series in library",
"description": "Get a single series in a library by ID on server. This endpoint is deprecated and `/api/series/{id}` should be used instead.",
"deprecated": true,
"tags": [
"Libraries"
],
"parameters": [
{
"$ref": "#/components/parameters/limit"
},
{
"$ref": "#/components/parameters/page"
},
{
"in": "query",
"name": "sort",
"description": "The field to sort by from the request.",
"example": "numBooks",
"schema": {
"type": "string",
"enum": [
"name",
"numBooks",
"totalDuration",
"addedAt",
"lastBookAdded",
"lastBookUpdated"
],
"default": "name"
}
},
{
"$ref": "#/components/parameters/desc"
},
{
"in": "query",
"name": "filter",
"description": "The filter for the library.",
"example": "media.metadata.title",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/minified"
},
{
"in": "query",
"name": "include",
"description": "The fields to include in the response. The only current option is `rssfeed`.",
"allowReserved": true,
"example": "rssfeed",
"schema": {
"type": "string"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"responses": {
"200": {
"description": "getLibrarySeriesById OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/seriesWithProgressAndRSS"
}
}
}
},
"404": {
"$ref": "#/components/responses/library404"
}
}
}
},
"/api/notifications": {
"get": {
"operationId": "getNotifications",
2024-07-09 03:55:55 +02:00
"summary": "Get notification settings",
"description": "Get all Apprise notification events and notification settings for server.",
"tags": [
"Notification"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotificationEvent"
}
}
}
},
"settings": {
"$ref": "#/components/schemas/NotificationSettings"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
},
"patch": {
2024-07-09 03:55:55 +02:00
"operationId": "configureNotificationSettings",
"summary": "Update select notification settings",
"description": "Update the URL, max failed attempts, and maximum notifications that can be queued for Apprise.",
"tags": [
"Notification"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"appriseApiUrl": {
"$ref": "#/components/schemas/appriseApiUrl"
},
"maxFailedAttempts": {
"$ref": "#/components/schemas/maxFailedAttempts"
},
"maxNotificationQueue": {
"$ref": "#/components/schemas/maxNotificationQueue"
}
}
}
}
}
},
"responses": {
"200": {
"$ref": "#/components/responses/notification200"
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
},
"post": {
"operationId": "createNotification",
2024-07-09 03:55:55 +02:00
"summary": "Create notification settings",
"description": "Create or update Notification settings.",
"tags": [
"Notification"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"libraryId": {
"$ref": "#/components/schemas/libraryIdNullable"
},
"eventName": {
"$ref": "#/components/schemas/notificationEventName"
},
"urls": {
"$ref": "#/components/schemas/urls"
},
"titleTemplate": {
"$ref": "#/components/schemas/titleTemplate"
},
"bodyTemplate": {
"$ref": "#/components/schemas/bodyTemplate"
},
"enabled": {
"$ref": "#/components/schemas/enabled"
},
"type": {
"$ref": "#/components/schemas/notificationType"
}
2024-07-04 05:48:22 +02:00
},
"required": [
"eventName",
"urls",
"titleTemplate",
"bodyTemplate"
]
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"settings": {
"$ref": "#/components/schemas/NotificationSettings"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
}
},
"/api/notificationdata": {
"get": {
"operationId": "getNotificationEventData",
2024-07-09 03:55:55 +02:00
"summary": "Get notification event data",
"description": "Get all Apprise notification event data for the server.",
"tags": [
"Notification"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotificationEvent"
}
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
}
},
"/api/notifications/test": {
"get": {
"operationId": "sendDefaultTestNotification",
2024-07-09 03:55:55 +02:00
"summary": "Send general test notification",
"description": "Send a test notification.",
"tags": [
"Notification"
],
"parameters": [
{
"in": "query",
"name": "fail",
"description": "Whether to intentionally cause the notification to fail. `0` for false, `1` for true.",
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/notification200"
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
}
},
"/api/notifications/{id}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the notification.",
"required": true,
"schema": {
"$ref": "#/components/schemas/notificationId"
}
}
],
"delete": {
"operationId": "deleteNotification",
2024-07-09 03:55:55 +02:00
"summary": "Delete a notification",
"description": "Delete the notification by ID and return the notification settings.",
"tags": [
"Notification"
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"settings": {
"$ref": "#/components/schemas/NotificationSettings"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
},
"patch": {
"operationId": "updateNotification",
2024-07-09 03:55:55 +02:00
"summary": "Update a notification",
"description": "Update an individual Notification by ID",
"tags": [
"Notification"
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"libraryId": {
"$ref": "#/components/schemas/libraryId"
},
"eventName": {
"$ref": "#/components/schemas/notificationEventName"
},
"urls": {
"$ref": "#/components/schemas/urls"
},
"titleTemplate": {
"$ref": "#/components/schemas/titleTemplate"
},
"bodyTemplate": {
"$ref": "#/components/schemas/bodyTemplate"
},
"enabled": {
"$ref": "#/components/schemas/enabled"
},
"type": {
"$ref": "#/components/schemas/notificationType"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"settings": {
"$ref": "#/components/schemas/NotificationSettings"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
}
},
"/api/notifications/{id}/test": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the notification.",
"required": true,
"schema": {
"$ref": "#/components/schemas/notificationId"
}
}
],
"get": {
"operationId": "sendTestNotification",
2024-07-09 03:55:55 +02:00
"summary": "Send a test notification",
"description": "Send a test to the given notification by ID.",
"tags": [
"Notification"
],
"responses": {
"200": {
"$ref": "#/components/responses/notification200"
},
"404": {
"$ref": "#/components/responses/notification404"
}
}
}
},
"/api/podcasts": {
"post": {
"summary": "Create a new podcast",
"operationId": "createPodcast",
"tags": [
"Podcasts"
],
"requestBody": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Podcast"
}
}
}
},
"responses": {
"200": {
"description": "Successfully created a podcast",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Podcast"
}
}
}
},
"400": {
"description": "Bad request"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
},
"/api/podcasts/feed": {
"post": {
"summary": "Get podcast feed",
"operationId": "getPodcastFeed",
"tags": [
"Podcasts"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"required": true,
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"rssFeed": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The RSS feed URL of the podcast"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successfully retrieved podcast feed",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"podcast": {
"$ref": "#/components/schemas/Podcast"
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
},
"400": {
"description": "Bad request"
},
"403": {
"description": "Forbidden"
},
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"404": {
"description": "Not found"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
},
2024-07-20 04:38:56 +02:00
"/api/podcasts/opml/parse": {
"post": {
"summary": "Get feeds from OPML text",
2024-07-20 04:38:56 +02:00
"description": "Parse OPML text and return an array of feeds",
"operationId": "getFeedsFromOPMLText",
2024-07-20 04:42:41 +02:00
"tags": [
"Podcasts"
],
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"opmlText": {
2024-07-20 04:38:56 +02:00
"type": "string"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
}
}
},
"responses": {
"200": {
2024-07-20 04:38:56 +02:00
"description": "Successfully parsed OPML text and returned feeds",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"content": {
"application/json": {
"schema": {
2024-07-20 04:38:56 +02:00
"type": "object",
"properties": {
"feeds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"feedUrl": {
"type": "string"
}
}
}
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
},
"400": {
2024-07-20 04:38:56 +02:00
"description": "Bad request, OPML text not provided"
},
"403": {
2024-07-20 04:38:56 +02:00
"description": "Forbidden, user is not admin"
}
}
}
},
"/api/podcasts/opml/create": {
"post": {
"summary": "Bulk create podcasts from OPML feed URLs",
"operationId": "bulkCreatePodcastsFromOpmlFeedUrls",
2024-07-20 04:42:41 +02:00
"tags": [
"Podcasts"
],
2024-07-20 04:38:56 +02:00
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"feeds": {
"type": "array",
"items": {
"type": "string"
}
},
"libraryId": {
"$ref": "#/components/schemas/libraryId"
},
"folderId": {
"$ref": "#/components/schemas/folderId"
},
"autoDownloadEpisodes": {
"$ref": "#/components/schemas/autoDownloadEpisodes"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successfully created podcasts from feed URLs"
},
"400": {
"description": "Bad request, invalid request body"
},
"403": {
"description": "Forbidden, user is not admin"
},
"404": {
"description": "Folder not found"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
},
"/api/podcasts/{id}/checknew": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"get": {
"summary": "Check and download new episodes",
"operationId": "checkNewEpisodes",
"tags": [
"Podcasts"
],
"parameters": [
{
"name": "limit",
"in": "query",
"description": "Maximum number of episodes to download",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Successfully checked and downloaded new episodes",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"episodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PodcastEpisode"
}
}
}
}
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"403": {
"description": "Forbidden"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"404": {
"description": "Not found"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"500": {
"description": "Server error"
}
}
}
},
"/api/podcasts/{id}/clear-queue": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"get": {
"summary": "Clear episode download queue",
"operationId": "clearEpisodeDownloadQueue",
"tags": [
"Podcasts"
],
"responses": {
"200": {
"description": "Successfully cleared download queue"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"403": {
"description": "Forbidden"
}
}
}
},
"/api/podcasts/{id}/downloads": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"get": {
"summary": "Get episode downloads",
"operationId": "getEpisodeDownloads",
"tags": [
"Podcasts"
],
"responses": {
"200": {
"description": "Successfully retrieved episode downloads",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"downloads": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PodcastEpisode"
}
}
}
}
}
}
},
"404": {
"description": "Not found"
}
}
}
},
"/api/podcasts/{id}/search-episode": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"get": {
"summary": "Find episode by title",
"operationId": "findEpisode",
"tags": [
"Podcasts"
],
"parameters": [
{
"name": "title",
"in": "query",
"description": "Title of the episode to search for",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully found episodes",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"episodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PodcastEpisode"
}
}
}
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Server error"
}
}
}
},
"/api/podcasts/{id}/download-episodes": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"post": {
"summary": "Download podcast episodes",
"operationId": "downloadEpisodes",
"tags": [
"Podcasts"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "Successfully started episode download"
},
"400": {
"description": "Bad request"
},
"403": {
"description": "Forbidden"
}
}
}
},
"/api/podcasts/{id}/match-episodes": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"post": {
"summary": "Quick match podcast episodes",
"operationId": "quickMatchEpisodes",
"tags": [
"Podcasts"
],
"parameters": [
{
"name": "override",
"in": "query",
"description": "Override existing details if set to 1",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully matched episodes",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"numEpisodesUpdated": {
"type": "integer"
}
}
}
}
}
},
"403": {
"description": "Forbidden"
}
}
}
},
"/api/podcasts/{id}/episode/{episodeId}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "Podcast ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
},
{
"name": "episodeId",
"in": "path",
"description": "Episode ID",
"required": true,
"schema": {
"$ref": "#/components/schemas/podcastId"
}
}
],
"patch": {
"summary": "Update a podcast episode",
"operationId": "updateEpisode",
"tags": [
"Podcasts"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Successfully updated episode",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Podcast"
}
}
}
},
"404": {
"description": "Not found"
}
}
},
"get": {
"summary": "Get a specific podcast episode",
"operationId": "getEpisode",
"tags": [
"Podcasts"
],
"responses": {
"200": {
"description": "Successfully retrieved episode",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PodcastEpisode"
}
}
}
},
"404": {
"description": "Not found"
}
}
},
"delete": {
"summary": "Remove a podcast episode",
"operationId": "removeEpisode",
"tags": [
"Podcasts"
],
"parameters": [
{
"name": "hard",
"in": "query",
"description": "Hard delete the episode if set to 1",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successfully removed episode",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Podcast"
}
}
}
},
"404": {
"description": "Not found"
},
"500": {
"description": "Server error"
}
}
}
},
"/api/series/{id}": {
"parameters": [
{
"name": "id",
"in": "path",
"description": "The ID of the series.",
"required": true,
"schema": {
"$ref": "#/components/schemas/seriesId"
}
}
],
"get": {
"operationId": "getSeries",
"tags": [
"Series"
],
"summary": "Get series",
"description": "Get a series by ID.",
"requestBody": {
"required": false,
"description": "A comma separated list of what to include with the series.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"include": {
"type": "string",
"description": "A comma separated list of what to include with the series.",
"example": "progress,rssfeed",
"enum": [
"progress",
"rssfeed",
"progress,rssfeed",
"rssfeed,progress"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/seriesWithProgressAndRSS"
}
}
}
},
"404": {
"$ref": "#/components/responses/series404"
}
}
},
"patch": {
"operationId": "updateSeries",
"tags": [
"Series"
],
"summary": "Update series",
"description": "Update a series by ID.",
"requestBody": {
"required": true,
"description": "The series to update.",
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"$ref": "#/components/schemas/seriesName"
},
"description": {
"$ref": "#/components/schemas/seriesDescription"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/series"
}
}
}
},
"404": {
"$ref": "#/components/responses/series404"
}
}
}
}
},
"components": {
"securitySchemes": {
"BearerAuth": {
"description": "Bearer authentication",
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"authorId": {
"type": "string",
"description": "The ID of the author.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"authorAsin": {
"description": "The Audible identifier (ASIN) of the author. Will be null if unknown. Not the Amazon identifier.",
"type": "string",
"nullable": true,
"example": "B000APZOQA"
},
"authorName": {
"description": "The name of the author.",
"type": "string",
"example": "Terry Goodkind"
},
"authorDescription": {
"description": "The new description of the author.",
"type": "string",
"nullable": true,
"example": "Terry Goodkind is a"
},
"authorImagePath": {
"description": "The absolute path for the author image. This will be in the `metadata/` directory. Will be null if there is no image.",
"type": "string",
"nullable": true,
"example": "/metadata/authors/aut_z3leimgybl7uf3y4ab.jpg"
},
"addedAt": {
"type": "integer",
"description": "The time (in ms since POSIX epoch) when added to the server.",
"example": 1633522963509
},
"updatedAt": {
"type": "integer",
"description": "The time (in ms since POSIX epoch) when last updated.",
"example": 1633522963509
},
"libraryItemId": {
"type": "string",
"description": "The ID of library items after 2.3.0.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"oldLibraryItemId": {
"description": "The ID of library items on server version 2.2.23 and before.",
"type": "string",
"nullable": true,
"format": "li_[a-z0-9]{18}",
"example": "li_o78uaoeuh78h6aoeif"
},
"inode": {
"description": "The inode of the item in the file system.",
"type": "string",
"format": "[0-9]*",
"example": "649644248522215260"
},
"libraryId": {
"type": "string",
"description": "The ID of the library.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"folderId": {
"type": "string",
"description": "The ID of the folder.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"mediaType": {
"type": "string",
"description": "The type of media, will be book or podcast.",
"enum": [
"book",
"podcast"
]
},
"libraryItemBase": {
"type": "object",
"description": "Base library item schema",
"properties": {
"id": {
"$ref": "#/components/schemas/libraryItemId"
},
"oldLibraryItemId": {
"$ref": "#/components/schemas/oldLibraryItemId"
},
"ino": {
"$ref": "#/components/schemas/inode"
},
"libraryId": {
"$ref": "#/components/schemas/libraryId"
},
"folderId": {
"$ref": "#/components/schemas/folderId"
},
"path": {
"description": "The path of the library item on the server.",
"type": "string"
},
"relPath": {
"description": "The path, relative to the library folder, of the library item.",
"type": "string"
},
"isFile": {
"description": "Whether the library item is a single file in the root of the library folder.",
"type": "boolean"
},
"mtimeMs": {
"description": "The time (in ms since POSIX epoch) when the library item was last modified on disk.",
"type": "integer"
},
"ctimeMs": {
"description": "The time (in ms since POSIX epoch) when the library item status was changed on disk.",
"type": "integer"
},
"birthtimeMs": {
"description": "The time (in ms since POSIX epoch) when the library item was created on disk. Will be 0 if unknown.",
"type": "integer"
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"updatedAt": {
"$ref": "#/components/schemas/updatedAt"
},
"isMissing": {
"description": "Whether the library item was scanned and no longer exists.",
"type": "boolean"
},
"isInvalid": {
"description": "Whether the library item was scanned and no longer has media files.",
"type": "boolean"
},
"mediaType": {
"$ref": "#/components/schemas/mediaType"
}
}
},
"bookMetadataBase": {
"type": "object",
"description": "The base book metadata object for minified, normal, and extended schemas to inherit from.",
"properties": {
"title": {
"description": "The title of the book. Will be null if unknown.",
"type": "string",
"nullable": true,
"example": "Wizards First Rule"
},
"subtitle": {
"description": "The subtitle of the book. Will be null if there is no subtitle.",
"type": "string",
"nullable": true
},
"genres": {
"description": "The genres of the book.",
"type": "array",
"items": {
"type": "string"
},
"example": [
"Fantasy",
"Sci-Fi",
"Nonfiction: History"
]
},
"publishedYear": {
"description": "The year the book was published. Will be null if unknown.",
"type": "string",
"nullable": true,
"example": "2008"
},
"publishedDate": {
"description": "The date the book was published. Will be null if unknown.",
"type": "string",
"nullable": true
},
"publisher": {
"description": "The publisher of the book. Will be null if unknown.",
"type": "string",
"nullable": true,
"example": "Brilliance Audio"
},
"description": {
"description": "A description for the book. Will be null if empty.",
"type": "string",
"nullable": true,
"example": "The masterpiece that started Terry Goodkind's New York Times bestselling epic Sword of Truth In the aftermath of the brutal murder of his father, a mysterious woman, Kahlan Amnell, appears in Richard Cypher's forest sanctuary seeking help...and more. His world, his very beliefs, are shattered when ancient debts come due with thundering violence. In a dark age it takes courage to live, and more than mere courage to challenge those who hold dominion, Richard and Kahlan must take up that challenge or become the next victims. Beyond awaits a bewitching land where even the best of their hearts could betray them. Yet, Richard fears nothing so much as what secrets his sword might reveal about his own soul. Falling in love would destroy them - for reasons Richard can't imagine and Kahlan dare not say. In their darkest hour, hunted relentlessly, tormented by treachery and loss, Kahlan calls upon Richard to reach beyond his sword - to invoke within himself something more noble. Neither knows that the rules of battle have just changed...or that their time has run out. Wizard's First Rule is the beginning. One book. One Rule. Witness the birth of a legend."
},
"isbn": {
"description": "The ISBN of the book. Will be null if unknown.",
"type": "string",
"nullable": true
},
"asin": {
"description": "The ASIN of the book. Will be null if unknown.",
"type": "string",
"nullable": true,
"example": "B002V0QK4C"
},
"language": {
"description": "The language of the book. Will be null if unknown.",
"type": "string",
"nullable": true
},
"explicit": {
"description": "Whether the book has been marked as explicit.",
"type": "boolean",
"example": false
}
}
},
"bookMetadataMinified": {
"type": "object",
"description": "The minified metadata for a book in the database.",
"allOf": [
{
"$ref": "#/components/schemas/bookMetadataBase"
},
{
"type": "object",
"properties": {
"titleIgnorePrefix": {
"description": "The title of the book with any prefix moved to the end.",
"type": "string"
},
"authorName": {
"description": "The name of the book's author(s).",
"type": "string",
"example": "Terry Goodkind"
},
"authorNameLF": {
"description": "The name of the book's author(s) with last names first.",
"type": "string",
"example": "Goodkind, Terry"
},
"narratorName": {
"description": "The name of the audiobook's narrator(s).",
"type": "string",
"example": "Sam Tsoutsouvas"
},
"seriesName": {
"description": "The name of the book's series.",
"type": "string",
"example": "Sword of Truth"
}
}
}
]
},
"bookCoverPath": {
"description": "The absolute path on the server of the cover file. Will be null if there is no cover.",
"type": "string",
"nullable": true,
"example": "/audiobooks/Terry Goodkind/Sword of Truth/Wizards First Rule/cover.jpg"
},
"tags": {
"description": "Tags applied to items.",
"type": "array",
"items": {
"type": "string"
},
"example": [
"To Be Read",
"Genre: Nonfiction"
]
},
"durationSec": {
"description": "The total length (in seconds) of the item or file.",
"type": "number",
"example": 33854.905
},
"size": {
"description": "The total size (in bytes) of the item or file.",
"type": "integer",
"example": 268824228
},
"bookMinified": {
"type": "object",
"description": "Minified book schema. Does not depend on `bookBase` because there's pretty much no overlap.",
"properties": {
"metadata": {
"$ref": "#/components/schemas/bookMetadataMinified"
},
"coverPath": {
"$ref": "#/components/schemas/bookCoverPath"
},
"tags": {
"$ref": "#/components/schemas/tags"
},
"numTracks": {
"description": "The number of tracks the book's audio files have.",
"type": "integer",
"example": 1
},
"numAudioFiles": {
"description": "The number of audio files the book has.",
"type": "integer",
"example": 1
},
"numChapters": {
"description": "The number of chapters the book has.",
"type": "integer",
"example": 1
},
"numMissingParts": {
"description": "The total number of missing parts the book has.",
"type": "integer",
"example": 0
},
"numInvalidAudioFiles": {
"description": "The number of invalid audio files the book has.",
"type": "integer",
"example": 0
},
"duration": {
"$ref": "#/components/schemas/durationSec"
},
"size": {
"$ref": "#/components/schemas/size"
},
"ebookFormat": {
"description": "The format of ebook of the book. Will be null if the book is an audiobook.",
"type": "string",
"nullable": true
}
}
},
"mediaMinified": {
"description": "The minified media of the library item.",
"oneOf": [
{
"$ref": "#/components/schemas/bookMinified"
}
]
},
"libraryItemMinified": {
"type": "object",
"description": "A single item on the server, like a book or podcast. Minified media format.",
"allOf": [
{
"$ref": "#/components/schemas/libraryItemBase"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
{
"type": "object",
"properties": {
"media": {
"$ref": "#/components/schemas/mediaMinified"
}
}
}
]
},
"seriesId": {
"type": "string",
"description": "The ID of the series.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"seriesName": {
"description": "The name of the series.",
"type": "string",
"example": "Sword of Truth"
},
"authorSeries": {
"type": "object",
"description": "Series and the included library items that an author has written.",
"properties": {
"id": {
"$ref": "#/components/schemas/seriesId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"name": {
"$ref": "#/components/schemas/seriesName"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"items": {
"description": "The items in the series. Each library item's media's metadata will have a `series` attribute, a `Series Sequence`, which is the matching series.",
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemMinified"
}
}
}
},
"author": {
"description": "An author object which includes a description and image path. The library items and series associated with the author are optionally included.",
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/authorId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"asin": {
"$ref": "#/components/schemas/authorAsin"
},
"name": {
"$ref": "#/components/schemas/authorName"
},
"description": {
"$ref": "#/components/schemas/authorDescription"
},
"imagePath": {
"$ref": "#/components/schemas/authorImagePath"
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"updatedAt": {
"$ref": "#/components/schemas/updatedAt"
},
"libraryItems": {
"description": "The items associated with the author",
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemMinified"
}
},
"series": {
"description": "The series associated with the author",
"type": "array",
"items": {
"$ref": "#/components/schemas/authorSeries"
}
}
}
},
"authorUpdated": {
"description": "Whether the author was updated without errors. Will not exist if author was merged.",
"type": "boolean",
"nullable": true
},
"authorMerged": {
"description": "Whether the author was merged with another author. Will not exist if author was updated.",
"type": "boolean",
"nullable": true
},
"imageWidth": {
"description": "The requested width of image in pixels.",
"type": "integer",
"default": 400,
"example": 400
},
"imageHeight": {
"description": "The requested height of image in pixels. If `null`, the height is scaled to maintain aspect ratio based on the requested width.",
"type": "integer",
"nullable": true,
"default": null,
"example": 600
},
"imageFormat": {
"description": "The requested output format.",
"type": "string",
"default": "jpeg",
"example": "webp"
},
"imageRaw": {
"description": "Return the raw image without scaling if true.",
"type": "boolean",
"default": false
},
"imageUrl": {
"description": "The URL of the image to add to the server",
"type": "string",
"format": "uri",
"example": "https://images-na.ssl-images-amazon.com/images/I/51NoQTm33OL.__01_SX120_CR0,0,120,120__.jpg"
},
"authorSearchName": {
"description": "The name of the author to use for searching.",
"type": "string",
"example": "Terry Goodkind"
},
"region": {
"description": "The region used to search.",
"type": "string",
"example": "us",
"default": "us"
},
"ereaderName": {
"type": "string",
"description": "The name of the e-reader device."
},
"EreaderDeviceObject": {
"type": "object",
"description": "An e-reader device configured to receive EPUB through e-mail.",
"properties": {
"name": {
"$ref": "#/components/schemas/ereaderName"
},
"email": {
"type": "string",
"description": "The email address associated with the e-reader device."
},
"availabilityOption": {
"type": "string",
"description": "The availability option for the device.",
"enum": [
"adminOrUp",
"userOrUp",
"guestOrUp",
"specificUsers"
]
},
"users": {
"type": "array",
"description": "List of specific users allowed to access the device.",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"email",
"availabilityOption"
]
},
"EmailSettings": {
"type": "object",
"description": "The email settings configuration for the server. This includes the credentials to send e-books and an array of e-reader devices.",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the email settings. Currently this is always `email-settings`",
"example": "email-settings"
},
"host": {
"type": "string",
"description": "The SMTP host address.",
"nullable": true
},
"port": {
"type": "integer",
"format": "int32",
"description": "The port number for the SMTP server.",
"example": 465
},
"secure": {
"type": "boolean",
"description": "Indicates if the connection should use SSL/TLS.",
"example": true
},
"rejectUnauthorized": {
"type": "boolean",
"description": "Indicates if unauthorized SSL/TLS certificates should be rejected.",
"example": true
},
"user": {
"type": "string",
"description": "The username for SMTP authentication.",
"nullable": true
},
"pass": {
"type": "string",
"description": "The password for SMTP authentication.",
"nullable": true
},
"testAddress": {
"type": "string",
"description": "The test email address used for sending test emails.",
"nullable": true
},
"fromAddress": {
"type": "string",
"description": "The default \"from\" email address for outgoing emails.",
"nullable": true
},
"ereaderDevices": {
"type": "array",
"description": "List of configured e-reader devices.",
"items": {
"$ref": "#/components/schemas/EreaderDeviceObject"
}
}
},
"required": [
"id",
"port",
"secure",
"ereaderDevices"
]
},
"libraryName": {
"description": "The name of the library.",
"type": "string",
"example": "My Audiobooks"
},
"folder": {
"type": "object",
"description": "Folder used in library",
"properties": {
"id": {
"$ref": "#/components/schemas/folderId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"fullPath": {
"description": "The path on the server for the folder. (Read Only)",
"type": "string",
"example": "/podcasts"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"libraryId": {
"$ref": "#/components/schemas/libraryId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
}
}
},
"librarySettings": {
"description": "The settings for the library.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"properties": {
"coverAspectRatio": {
"description": "Whether the library should use square book covers. Must be 0 (for false) or 1 (for true).",
"type": "integer",
"example": 1
},
"disableWatcher": {
"description": "Whether to disable the folder watcher for the library.",
"type": "boolean",
"example": false
},
"skipMatchingMediaWithAsin": {
"description": "Whether to skip matching books that already have an ASIN.",
"type": "boolean",
"example": false
},
"skipMatchingMediaWithIsbn": {
"description": "Whether to skip matching books that already have an ISBN.",
"type": "boolean",
"example": false
},
"autoScanCronExpression": {
"description": "The cron expression for when to automatically scan the library folders. If null, automatic scanning will be disabled.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"nullable": true,
"example": "0 0 0 * * *"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"audiobooksOnly": {
"description": "Whether the library should ignore ebook files and only allow ebook files to be supplementary.",
"type": "boolean",
"example": false
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"hideSingleBookSeries": {
"description": "Whether to hide series with only one book.",
"type": "boolean",
"example": false
},
"onlyShowLaterBooksInContinueSeries": {
"description": "Whether to only show books in a series after the highest series sequence.",
"type": "boolean",
"example": false
},
"metadataPrecedence": {
"description": "The precedence of metadata sources. See Metadata Providers for a list of possible providers.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "array",
"items": {
"type": "string"
},
"example": [
"folderStructure",
"audioMetatags",
"nfoFile",
"txtFiles",
"opfFile",
"absMetadata"
]
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"podcastSearchRegion": {
"description": "The region to use when searching for podcasts.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"example": "us"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"createdAt": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "integer",
"description": "The time (in ms since POSIX epoch) when was created.",
"example": 1633522963509
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"library": {
"description": "A library object which includes either books or podcasts.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/libraryId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"name": {
"$ref": "#/components/schemas/libraryName"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"folders": {
"description": "The folders that belong to the library.",
"type": "array",
"items": {
"$ref": "#/components/schemas/folder"
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"displayOrder": {
"description": "Display position of the library in the list of libraries. Must be >= 1.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "integer",
"example": 1
},
"icon": {
"description": "The selected icon for the library. See Library Icons for a list of possible icons.",
"type": "string",
"example": "audiobookshelf"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"mediaType": {
"description": "The type of media that the library contains. Will be `book` or `podcast`. (Read Only)",
"type": "string",
"example": "book"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"provider": {
"description": "Preferred metadata provider for the library. See Metadata Providers for a list of possible providers.",
"type": "string",
"example": "audible"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"settings": {
"$ref": "#/components/schemas/librarySettings"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"lastUpdate": {
"$ref": "#/components/schemas/updatedAt"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"libraryFolders": {
"description": "The folders of the library. Only specify the fullPath.",
"type": "array",
"items": {
"$ref": "#/components/schemas/folder"
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"libraryDisplayOrder": {
"description": "The display order of the library. Must be >= 1.",
"type": "integer",
"minimum": 1,
"example": 1
},
"libraryIcon": {
"description": "The icon of the library. See Library Icons for a list of possible icons.",
"type": "string",
"example": "audiobookshelf"
},
"libraryMediaType": {
"description": "The type of media that the library contains. Must be `book` or `podcast`.",
"type": "string",
"example": "book"
},
"libraryProvider": {
"description": "Preferred metadata provider for the library. See Metadata Providers for a list of possible providers.",
"type": "string",
"example": "audible"
},
"authorExpanded": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "The author schema with the total number of books in the library.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"allOf": [
{
"$ref": "#/components/schemas/author"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
{
"type": "object",
"properties": {
"numBooks": {
"description": "The number of books associated with the author in the library.",
"type": "integer",
"example": 1
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}
]
},
"total": {
"description": "The total number of items in the response.",
"type": "integer",
"example": 100
},
"limit": {
"description": "The number of items to return. If 0, no items are returned.",
"type": "integer",
"example": 10,
"default": 0
},
"page": {
"description": "The page number (zero indexed) to return. If no limit is specified, then page will have no effect.",
"type": "integer",
"example": 1,
"default": 0
},
"sortBy": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The field to sort by from the request.",
"example": "media.metadata.title"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"sortDesc": {
"description": "Whether to sort in descending order.",
"type": "boolean",
"example": true
},
"filterBy": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The field to filter by from the request. TODO",
"example": "media.metadata.title"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"minified": {
"description": "Return minified items if true.",
"type": "boolean",
"example": true,
"default": false
},
"collapseSeries": {
"type": "boolean",
"description": "Whether collapse series was set in the request.",
"example": true
},
"libraryInclude": {
"description": "The fields to include in the response. The only current option is `rssfeed`.",
"type": "string",
"example": "rssfeed"
},
"sequence": {
"description": "The position in the series the book is.",
"type": "string",
"nullable": true
},
"libraryItemSequence": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "A single item on the server, like a book or podcast. Includes series sequence information.",
"allOf": [
{
"$ref": "#/components/schemas/libraryItemBase"
},
{
"type": "object",
"properties": {
"sequence": {
"$ref": "#/components/schemas/sequence"
}
}
}
]
},
"seriesBooks": {
"type": "object",
"description": "A series object which includes the name and books in the series.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"id": {
"$ref": "#/components/schemas/seriesId"
},
"name": {
"$ref": "#/components/schemas/seriesName"
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"nameIgnorePrefix": {
"description": "The name of the series with any prefix moved to the end.",
"type": "string"
},
"nameIgnorePrefixSort": {
"description": "The name of the series with any prefix removed.",
"type": "string"
},
"type": {
"description": "Will always be `series`.",
"type": "string"
},
"books": {
"description": "The library items that contain the books in the series. A sequence attribute that denotes the position in the series the book is in, is tacked on.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemSequence"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
},
"totalDuration": {
"description": "The combined duration (in seconds) of all books in the series.",
"type": "number"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"seriesDescription": {
"description": "A description for the series. Will be null if there is none.",
"type": "string",
"nullable": true,
"example": "The Sword of Truth is a series of twenty one epic fantasy novels written by Terry Goodkind."
},
"series": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "A series object which includes the name and description of the series.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"id": {
"$ref": "#/components/schemas/seriesId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"name": {
"$ref": "#/components/schemas/seriesName"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"description": {
"$ref": "#/components/schemas/seriesDescription"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"updatedAt": {
"$ref": "#/components/schemas/updatedAt"
}
}
2024-07-04 05:48:22 +02:00
},
"seriesProgress": {
2024-07-04 05:48:22 +02:00
"type": "object",
"description": "The user's progress of a series.",
2024-07-04 05:48:22 +02:00
"properties": {
"libraryItemIds": {
"description": "The IDs of the library items in the series.",
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemId"
}
2024-07-04 05:48:22 +02:00
},
"libraryItemIdsFinished": {
"description": "The IDs of the library items in the series that are finished.",
2024-07-04 05:48:22 +02:00
"type": "array",
"items": {
"$ref": "#/components/schemas/libraryItemId"
}
},
"isFinished": {
"description": "Whether the series is finished.",
"type": "boolean"
}
}
},
"seriesWithProgressAndRSS": {
"type": "object",
"description": "A series object which includes the name and progress of the series.",
"oneOf": [
{
"$ref": "#/components/schemas/series"
},
{
"type": "object",
"properties": {
"progress": {
"$ref": "#/components/schemas/seriesProgress"
},
"rssFeed": {
"description": "The RSS feed for the series.",
"type": "string",
"example": "TBD"
}
2024-07-04 05:48:22 +02:00
}
}
]
},
"NotificationEvent": {
2024-07-04 05:48:22 +02:00
"type": "object",
"properties": {
"name": {
2024-07-04 05:48:22 +02:00
"type": "string",
"description": "The name of the notification event. The names and allowable values are defined at https://github.com/advplyr/audiobookshelf/blob/master/server/utils/notifications.js"
2024-07-04 05:48:22 +02:00
},
"requiresLibrary": {
2024-07-04 05:48:22 +02:00
"type": "boolean",
"description": "Whether the notification event depends on a library existing."
2024-07-04 05:48:22 +02:00
},
"libraryMediaType": {
2024-07-04 05:48:22 +02:00
"type": "string",
"description": "The type of media of the library the notification depends on existing. Will not exist if requiresLibrary is false.",
2024-07-04 05:48:22 +02:00
"nullable": true
},
"description": {
2024-07-04 05:48:22 +02:00
"type": "string",
"description": "The description of the notification event."
2024-07-04 05:48:22 +02:00
},
"variables": {
2024-07-04 05:48:22 +02:00
"type": "array",
"items": {
"type": "string"
},
"description": "The variables of the notification event that can be used in the notification templates."
},
"defaults": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "The default title template for notifications using the notification event."
},
"body": {
"type": "string",
"description": "The default body template for notifications using the notification event."
}
}
},
"testData": {
"type": "object",
"description": "The keys of the testData object will match the list of variables. The values will be the data used when sending a test notification.",
"additionalProperties": {
"type": "string"
2024-07-04 05:48:22 +02:00
}
}
}
},
"notificationId": {
"type": "string",
"description": "The ID of the notification.",
"example": "notification-settings"
},
"appriseApiUrl": {
"type": "string",
"nullable": true,
"description": "The full URL where the Apprise API to use is located."
},
"libraryIdNullable": {
"type": "string",
"description": "The ID of the library. Applies to all libraries if `null`.",
"format": "uuid",
"nullable": true,
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"notificationEventName": {
"type": "string",
"description": "The name of the event the notification will fire on.",
"enum": [
"onPodcastEpisodeDownloaded",
"onBackupCompleted",
"onBackupFailed",
"onTest"
2024-07-04 05:48:22 +02:00
]
},
"urls": {
"type": "array",
"items": {
"type": "string"
},
"description": "The Apprise URLs to use for the notification.",
"example": "http://192.168.0.3:8000/notify/my-cool-notification"
},
"titleTemplate": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The template for the notification title.",
"example": "New {{podcastTitle}} Episode!"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"bodyTemplate": {
"type": "string",
"description": "The template for the notification body.",
"example": "{{episodeTitle}} has been added to {{libraryName}} library."
},
"enabled": {
"type": "boolean",
"default": false,
"description": "Whether the notification is enabled."
},
"notificationType": {
"type": "string",
"enum": [
"info",
"success",
"warning",
"failure"
],
"nullable": true,
"default": "info",
"description": "The notification's type."
},
"Notification": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/notificationId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"libraryId": {
"$ref": "#/components/schemas/libraryIdNullable"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"eventName": {
"$ref": "#/components/schemas/notificationEventName"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"urls": {
"$ref": "#/components/schemas/urls"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"titleTemplate": {
"$ref": "#/components/schemas/titleTemplate"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"bodyTemplate": {
"$ref": "#/components/schemas/bodyTemplate"
},
"enabled": {
"$ref": "#/components/schemas/enabled"
},
"type": {
"$ref": "#/components/schemas/notificationType"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"lastFiredAt": {
"type": "integer",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"nullable": true,
"description": "The time (in ms since POSIX epoch) when the notification was last fired. Will be null if the notification has not fired."
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"lastAttemptFailed": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "boolean",
"description": "Whether the last notification attempt failed."
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"numConsecutiveFailedAttempts": {
"type": "integer",
"description": "The number of consecutive times the notification has failed.",
"default": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"numTimesFired": {
"type": "integer",
"description": "The number of times the notification has fired.",
"default": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"createdAt": {
"$ref": "#/components/schemas/createdAt"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"maxFailedAttempts": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "integer",
"minimum": 0,
"default": 5,
"description": "The maximum number of times a notification fails before being disabled."
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"maxNotificationQueue": {
"type": "integer",
"description": "The maximum number of notifications in the notification queue before events are ignored."
},
"NotificationSettings": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/notificationId"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"appriseType": {
"type": "string",
"description": "The type of Apprise that will be used. At the moment, only api is available."
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"appriseApiUrl": {
"$ref": "#/components/schemas/appriseApiUrl"
},
"notifications": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "array",
"items": {
"$ref": "#/components/schemas/Notification"
},
"description": "The set notifications."
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"maxFailedAttempts": {
"$ref": "#/components/schemas/maxFailedAttempts"
},
"maxNotificationQueue": {
"$ref": "#/components/schemas/maxNotificationQueue"
},
"notificationDelay": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "integer",
"description": "The time (in ms) between notification pushes."
}
}
},
"podcastId": {
"type": "string",
"description": "The ID of podcasts and podcast episodes after 2.3.0.",
"format": "uuid",
"example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b"
},
"PodcastMetadata": {
"type": "object",
"description": "Metadata for a podcast.",
"properties": {
"title": {
"type": "string",
"description": "The title of the podcast.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"author": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The author of the podcast.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"description": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"description": "The description of the podcast.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"releaseDate": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "string",
"format": "date-time",
"description": "The release date of the podcast.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"genres": {
"type": "array",
"description": "The genres of the podcast.",
"items": {
"type": "string"
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"feedUrl": {
"type": "string",
"description": "The URL of the podcast feed.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"imageUrl": {
"type": "string",
"description": "The URL of the podcast's image.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"itunesPageUrl": {
"type": "string",
"description": "The URL of the podcast's iTunes page.",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"itunesId": {
"type": "string",
"description": "The iTunes ID of the podcast.",
"nullable": true
},
"itunesArtistId": {
"type": "string",
"description": "The iTunes artist ID of the podcast.",
"nullable": true
},
"explicit": {
"type": "boolean",
"description": "Whether the podcast contains explicit content."
},
"language": {
"type": "string",
"description": "The language of the podcast.",
"nullable": true
},
"type": {
"type": "string",
"description": "The type of podcast (e.g., episodic, serial).",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"oldPodcastId": {
"description": "The ID of podcasts on server version 2.2.23 and before.",
"type": "string",
"nullable": true,
"format": "pod_[a-z0-9]{18}",
"example": "pod_o78uaoeuh78h6aoeif"
},
"fileMetadata": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "The metadata for a file, including the path, size, and unix timestamps of the file.",
"nullable": true,
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"filename": {
"description": "The filename of the file.",
"type": "string",
"example": "Wizards First Rule 01.mp3"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"ext": {
"description": "The file extension of the file.",
"type": "string",
"example": ".mp3"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"path": {
"description": "The absolute path on the server of the file.",
"type": "string",
"example": "/audiobooks/Terry Goodkind/Sword of Truth/Wizards First Rule/Terry Goodkind - SOT Bk01 - Wizards First Rule 01.mp3"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"relPath": {
"description": "The path of the file, relative to the book's or podcast's folder.",
"type": "string",
"example": "Wizards First Rule 01.mp3"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"size": {
"$ref": "#/components/schemas/size"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"mtimeMs": {
"description": "The time (in ms since POSIX epoch) when the file was last modified on disk.",
"type": "integer",
"example": 1632223180278
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"ctimeMs": {
"description": "The time (in ms since POSIX epoch) when the file status was changed on disk.",
"type": "integer",
"example": 1645978261001
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"birthtimeMs": {
"description": "The time (in ms since POSIX epoch) when the file was created on disk. Will be 0 if unknown.",
"type": "integer",
"example": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"bookChapter": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "A book chapter. Includes the title and timestamps.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"properties": {
"id": {
"description": "The ID of the book chapter.",
"type": "integer",
"example": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"start": {
"description": "When in the book (in seconds) the chapter starts.",
"type": "integer",
"example": 0
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"end": {
"description": "When in the book (in seconds) the chapter ends.",
"type": "number",
"example": 6004.6675
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"title": {
"description": "The title of the chapter.",
"type": "string",
"example": "Wizards First Rule 01 Chapter 1"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"audioMetaTags": {
"description": "ID3 metadata tags pulled from the audio file on import. Only non-null tags will be returned in requests.",
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"properties": {
"tagAlbum": {
"type": "string",
"nullable": true,
"example": "SOT Bk01"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"tagArtist": {
"type": "string",
"nullable": true,
"example": "Terry Goodkind"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"tagGenre": {
"type": "string",
"nullable": true,
"example": "Audiobook Fantasy"
},
"tagTitle": {
"type": "string",
"nullable": true,
"example": "Wizards First Rule 01"
},
"tagSeries": {
"type": "string",
"nullable": true
},
"tagSeriesPart": {
"type": "string",
"nullable": true
},
"tagTrack": {
"type": "string",
"nullable": true,
"example": "01/20"
},
"tagDisc": {
"type": "string",
"nullable": true
},
"tagSubtitle": {
"type": "string",
"nullable": true
},
"tagAlbumArtist": {
"type": "string",
"nullable": true,
"example": "Terry Goodkind"
},
"tagDate": {
"type": "string",
"nullable": true
},
"tagComposer": {
"type": "string",
"nullable": true,
"example": "Terry Goodkind"
},
"tagPublisher": {
"type": "string",
"nullable": true
},
"tagComment": {
"type": "string",
"nullable": true
},
"tagDescription": {
"type": "string",
"nullable": true
},
"tagEncoder": {
"type": "string",
"nullable": true
},
"tagEncodedBy": {
"type": "string",
"nullable": true
},
"tagIsbn": {
"type": "string",
"nullable": true
},
"tagLanguage": {
"type": "string",
"nullable": true
},
"tagASIN": {
"type": "string",
"nullable": true
},
"tagOverdriveMediaMarker": {
"type": "string",
"nullable": true
},
"tagOriginalYear": {
"type": "string",
"nullable": true
},
"tagReleaseCountry": {
"type": "string",
"nullable": true
},
"tagReleaseType": {
"type": "string",
"nullable": true
},
"tagReleaseStatus": {
"type": "string",
"nullable": true
},
"tagISRC": {
"type": "string",
"nullable": true
},
"tagMusicBrainzTrackId": {
"type": "string",
"nullable": true
},
"tagMusicBrainzAlbumId": {
"type": "string",
"nullable": true
},
"tagMusicBrainzAlbumArtistId": {
"type": "string",
"nullable": true
},
"tagMusicBrainzArtistId": {
"type": "string",
"nullable": true
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"audioFile": {
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"type": "object",
"description": "An audio file for a book. Includes audio metadata and track numbers.",
"properties": {
"index": {
"description": "The index of the audio file.",
"type": "integer",
"example": 1
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
},
"ino": {
"$ref": "#/components/schemas/inode"
},
"metadata": {
"$ref": "#/components/schemas/fileMetadata"
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"updatedAt": {
"$ref": "#/components/schemas/updatedAt"
},
"trackNumFromMeta": {
"description": "The track number of the audio file as pulled from the file's metadata. Will be null if unknown.",
"type": "integer",
"nullable": true,
"example": 1
},
"discNumFromMeta": {
"description": "The disc number of the audio file as pulled from the file's metadata. Will be null if unknown.",
"type": "string",
"nullable": true
},
"trackNumFromFilename": {
"description": "The track number of the audio file as determined from the file's name. Will be null if unknown.",
"type": "integer",
"nullable": true,
"example": 1
},
"discNumFromFilename": {
"description": "The disc number of the audio file as determined from the file's name. Will be null if unknown.",
"type": "string",
"nullable": true
},
"manuallyVerified": {
"description": "Whether the audio file has been manually verified by a user.",
"type": "boolean"
},
"invalid": {
"description": "Whether the audio file is missing from the server.",
"type": "boolean"
},
"exclude": {
"description": "Whether the audio file has been marked for exclusion.",
"type": "boolean"
},
"error": {
"description": "Any error with the audio file. Will be null if there is none.",
"type": "string",
"nullable": true
},
"format": {
"description": "The format of the audio file.",
"type": "string",
"example": "MP2/3 (MPEG audio layer 2/3)"
},
"duration": {
"$ref": "#/components/schemas/durationSec"
},
"bitRate": {
"description": "The bit rate (in bit/s) of the audio file.",
"type": "integer",
"example": 64000
},
"language": {
"description": "The language of the audio file.",
"type": "string",
"nullable": true
},
"codec": {
"description": "The codec of the audio file.",
"type": "string",
"example": "mp3"
},
"timeBase": {
"description": "The time base of the audio file.",
"type": "string",
"example": "1/14112000"
},
"channels": {
"description": "The number of channels the audio file has.",
"type": "integer",
"example": 2
},
"channelLayout": {
"description": "The layout of the audio file's channels.",
"type": "string",
"example": "stereo"
},
"chapters": {
"description": "If the audio file is part of an audiobook, the chapters the file contains.",
"type": "array",
"items": {
"$ref": "#/components/schemas/bookChapter"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
},
"embeddedCoverArt": {
"description": "The type of embedded cover art in the audio file. Will be null if none exists.",
"type": "string",
"nullable": true
},
"metaTags": {
"$ref": "#/components/schemas/audioMetaTags"
},
"mimeType": {
"description": "The MIME type of the audio file.",
"type": "string",
"example": "audio/mpeg"
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
},
"AudioTrack": {
"type": "object",
"description": "Represents an audio track with various properties.",
"properties": {
"index": {
"type": "integer",
"nullable": true,
"description": "The index of the audio track.",
"example": null
},
"startOffset": {
"type": "number",
"format": "float",
"nullable": true,
"description": "The start offset of the audio track in seconds.",
"example": null
},
"duration": {
"type": "number",
"format": "float",
"nullable": true,
"description": "The duration of the audio track in seconds.",
"example": null
},
"title": {
"type": "string",
"nullable": true,
"description": "The title of the audio track.",
"example": null
},
"contentUrl": {
"type": "string",
"nullable": true,
"description": "The URL where the audio track content is located.",
"example": "`/api/items/${itemId}/file/${audioFile.ino}`"
},
"mimeType": {
"type": "string",
"nullable": true,
"description": "The MIME type of the audio track.",
"example": null
},
"codec": {
"type": "string",
"nullable": true,
"description": "The codec used for the audio track.",
"example": "aac"
},
"metadata": {
"$ref": "#/components/schemas/fileMetadata"
}
}
},
"PodcastEpisode": {
"type": "object",
"description": "A single episode of a podcast.",
"properties": {
"libraryItemId": {
"$ref": "#/components/schemas/libraryItemId"
},
"podcastId": {
"$ref": "#/components/schemas/podcastId"
},
"id": {
"$ref": "#/components/schemas/podcastId"
},
"oldEpisodeId": {
"$ref": "#/components/schemas/oldPodcastId"
},
"index": {
"type": "integer",
"description": "The index of the episode within the podcast.",
"nullable": true
},
"season": {
"type": "string",
"description": "The season number of the episode.",
"nullable": true
},
"episode": {
"type": "string",
"description": "The episode number within the season.",
"nullable": true
},
"episodeType": {
"type": "string",
"description": "The type of episode (e.g., full, trailer).",
"nullable": true
},
"title": {
"type": "string",
"description": "The title of the episode.",
"nullable": true
},
"subtitle": {
"type": "string",
"description": "The subtitle of the episode.",
"nullable": true
},
"description": {
"type": "string",
"description": "The description of the episode.",
"nullable": true
},
"enclosure": {
"type": "object",
"description": "The enclosure object containing additional episode data.",
"nullable": true,
"additionalProperties": true
},
"guid": {
"type": "string",
"description": "The globally unique identifier for the episode.",
"nullable": true
},
"pubDate": {
"type": "string",
"description": "The publication date of the episode.",
"nullable": true
},
"chapters": {
"type": "array",
"description": "The chapters within the episode.",
"items": {
"type": "object"
}
},
"audioFile": {
"$ref": "#/components/schemas/audioFile"
},
"publishedAt": {
"$ref": "#/components/schemas/createdAt"
},
"addedAt": {
"$ref": "#/components/schemas/addedAt"
},
"updatedAt": {
"$ref": "#/components/schemas/updatedAt"
},
"audioTrack": {
"$ref": "#/components/schemas/AudioTrack"
},
"duration": {
"$ref": "#/components/schemas/durationSec"
},
"size": {
"$ref": "#/components/schemas/size"
}
}
},
2024-07-20 04:38:56 +02:00
"autoDownloadEpisodes": {
"type": "boolean",
"description": "Whether episodes are automatically downloaded."
},
"Podcast": {
"type": "object",
"description": "A podcast containing multiple episodes.",
"properties": {
"id": {
"$ref": "#/components/schemas/podcastId"
},
"libraryItemId": {
"$ref": "#/components/schemas/libraryItemId"
},
"metadata": {
"$ref": "#/components/schemas/PodcastMetadata"
},
"coverPath": {
"type": "string",
"description": "The file path to the podcast's cover image.",
"nullable": true
},
"tags": {
"type": "array",
"description": "The tags associated with the podcast.",
"items": {
"type": "string"
}
},
"episodes": {
"type": "array",
"description": "The episodes of the podcast.",
"items": {
"$ref": "#/components/schemas/PodcastEpisode"
}
},
"autoDownloadEpisodes": {
2024-07-20 04:38:56 +02:00
"$ref": "#/components/schemas/autoDownloadEpisodes"
},
"autoDownloadSchedule": {
"type": "string",
"description": "The schedule for automatic episode downloads, in cron format.",
"nullable": true
},
"lastEpisodeCheck": {
"type": "integer",
"description": "The timestamp of the last episode check."
},
"maxEpisodesToKeep": {
"type": "integer",
"description": "The maximum number of episodes to keep."
},
"maxNewEpisodesToDownload": {
"type": "integer",
"description": "The maximum number of new episodes to download when automatically downloading epsiodes."
},
"lastCoverSearch": {
"type": "integer",
"description": "The timestamp of the last cover search.",
"nullable": true
},
"lastCoverSearchQuery": {
"type": "string",
"description": "The query used for the last cover search.",
"nullable": true
},
"size": {
"type": "integer",
"description": "The total size of all episodes in bytes."
},
"duration": {
"type": "integer",
"description": "The total duration of all episodes in seconds."
},
"numTracks": {
"type": "integer",
"description": "The number of tracks (episodes) in the podcast."
},
"latestEpisodePublished": {
"type": "integer",
"description": "The timestamp of the most recently published episode."
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
},
"responses": {
"author404": {
"description": "Author not found.",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "Author not found."
}
}
}
},
2024-07-04 05:48:22 +02:00
"email200": {
"description": "Successful response - Email",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmailSettings"
}
}
}
},
"ereader200": {
"description": "Successful response - Ereader",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ereaderDevices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EreaderDeviceObject"
}
}
}
}
}
}
},
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"library200": {
"description": "Library found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/library"
}
}
}
},
"library404": {
"description": "Library not found.",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "Library not found."
}
}
}
},
"notification404": {
"description": "An admin user is required or notification with the given ID not found.",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "Series not found."
}
}
}
},
"notification200": {
"description": "Notification endpoint success.",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "OK"
}
}
}
},
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
"series404": {
"description": "Series not found.",
"content": {
"text/html": {
"schema": {
"type": "string",
"example": "Series not found."
}
}
}
}
},
"parameters": {
"minified": {
"in": "query",
"name": "minified",
"description": "Return minified items if true",
"schema": {
"type": "integer",
"minimum": 0,
"example": 1
}
},
"limit": {
"in": "query",
"name": "limit",
"description": "The number of items to return. This the size of a single page for the optional `page` query.",
"example": 10,
"schema": {
"type": "integer",
"default": 0
}
},
"page": {
"in": "query",
"name": "page",
"description": "The page number (zero indexed) to return. If no limit is specified, then page will have no effect.",
"example": 0,
"schema": {
"type": "integer",
"default": 0
}
},
"desc": {
"in": "query",
"name": "desc",
"description": "Return items in reversed order if true.",
"example": 0,
"schema": {
"type": "integer",
"default": 0
}
}
Initial library endpoints (#3012) * Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
2024-06-14 00:09:02 +02:00
}
}
}