mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
303 lines
10 KiB
YAML
303 lines
10 KiB
YAML
components:
|
|
schemas:
|
|
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
|
|
authorInclude:
|
|
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.
|
|
type: string
|
|
example: 'items'
|
|
authorLibraryId:
|
|
$ref: '../objects/Library.yaml#/components/schemas/libraryId'
|
|
authorSearchName:
|
|
description: The name of the author to use for searching.
|
|
type: string
|
|
example: Terry Goodkind
|
|
authorName:
|
|
$ref: '../objects/entities/Author.yaml#/components/schemas/authorName'
|
|
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
|
|
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
|
|
responses:
|
|
author200:
|
|
description: Author found.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../objects/entities/Author.yaml#/components/schemas/author'
|
|
author404:
|
|
description: Author not found.
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: Author not found.
|
|
paths:
|
|
/api/authors/{id}:
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: Author ID
|
|
required: true
|
|
schema:
|
|
$ref: '../objects/entities/Author.yaml#/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'
|
|
responses:
|
|
'200':
|
|
description: getAuthorById OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '../objects/entities/Author.yaml#/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
|
|
requestBody:
|
|
description: The author object to update.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
properties:
|
|
name:
|
|
$ref: '#/components/schemas/authorName'
|
|
description:
|
|
$ref: '../objects/entities/Author.yaml#/components/schemas/authorDescription'
|
|
imagePath:
|
|
$ref: '../objects/entities/Author.yaml#/components/schemas/authorImagePath'
|
|
asin:
|
|
$ref: '../objects/entities/Author.yaml#/components/schemas/authorAsin'
|
|
responses:
|
|
'200':
|
|
description: updateAuthorById OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '../objects/entities/Author.yaml#/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
|
|
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: '../objects/entities/Author.yaml#/components/schemas/authorId'
|
|
- name: token
|
|
in: query
|
|
description: API token
|
|
schema:
|
|
type: string
|
|
- name: ts
|
|
in: query
|
|
description: Updated at value
|
|
schema:
|
|
type: integer
|
|
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: [] # No security for getting author image
|
|
tags:
|
|
- Authors
|
|
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
|
|
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
|
|
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
|
|
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: '../objects/entities/Author.yaml#/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
|
|
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: '../objects/entities/Author.yaml#/components/schemas/authorAsin'
|
|
region:
|
|
$ref: '../schemas.yaml#/components/schemas/region'
|
|
responses:
|
|
'200':
|
|
description: matchAuthorById OK
|
|
content:
|
|
application/json:
|
|
schema:
|
|
oneOf:
|
|
- $ref: '../objects/entities/Author.yaml#/components/schemas/author'
|
|
- $ref: '#/components/schemas/authorUpdated'
|
|
'404':
|
|
$ref: '#/components/responses/author404'
|