funkwhale/api/funkwhale_api/common/schema.yml

25925 lines
653 KiB
YAML

openapi: 3.0.3
info:
title: Funkwhale API
version: 1.4.0
description: |
# Funkwhale API
This is the Funkwhale API. Check out our [API explorer](https://docs.funkwhale.audio/swagger/) for interactive documentation.
## OAuth Authentication
Funkwhale uses the OAuth [authorization grant flow](https://tools.ietf.org/html/rfc6749#section-4.1) for external apps. This flow is a secure way to authenticate apps that requires a user's explicit consent to perform actions. You can use our demo server at <https://demo.funkwhale.audio> for testing purposes.
To authenticate with the Funkwhale API:
1. Create an application by sending a `POST` request to `api/v1/oauth/apps`. Include your scopes and redirect URI (use `urn:ietf:wg:oauth:2.0:oob`
to get an authorization code you can copy)
2. Send an [authorization request](https://www.rfc-editor.org/rfc/rfc6749#section-4.1.2) to the `/authorize` endpoint to receive an authorization code
3. [Request an access token](https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3) from `/api/v1/oauth/token`
4. Use your access token to authenticate your calls with the following format: `Authorization: Bearer <token>`
5. Refresh your access token by sending a refresh request to `/api/v1/oauth/token`
For more detailed instructions, see [our API authentication documentation](https://docs.funkwhale.audio/developers/authentication.html).
## Application token authentication
If you have an account on your target pod, you can create an application at `/settings/applications/new`. Once you authorize the application you can retrieve an access token. Use your access token to authenticate your calls with the following format: `Authorization: Bearer <token>`
## Rate limiting
Funkwhale supports rate-limiting as of version 0.2.0. Pod admins can choose to rate limit specific endpoints to prevent abuse and improve the stability of the service. If the server drops a request due to rate-limiting, it returns a `429` status code.
Each API call returns HTTP headers to pass the following information:
- What was the scope of the request (`X-RateLimit-Scope`)
- What is the rate-limit associated with the request scope (`X-RateLimit-Limit`)
- How many more requests in the scope can be made within the rate-limit timeframe (`X-RateLimit-Remaining`)
- How much time does the client need to wait to send another request (`Retry-After`)
For more information, check our [rate limit documentation](https://docs.funkwhale.audio/developer/api/rate-limit.html)
## Resources
For more information about API usage, refer to [our API documentation](https://docs.funkwhale.audio/api.html).
paths:
/api/v1/activity/:
get:
operationId: get_activity
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- activity
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v1/albums/:
get:
operationId: get_albums
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAlbumList'
description: ''
post:
operationId: create_album
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumCreate'
description: ''
/api/v1/albums/{id}/:
get:
operationId: get_album
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Album'
description: ''
delete:
operationId: delete_album
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/albums/{id}/fetches/:
get:
operationId: get_album_fetches
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_album_fetch
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v1/albums/{id}/libraries/:
get:
operationId: get_album_libraries
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v1/albums/{id}/mutations/:
get:
operationId: get_album_mutations
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_album_mutation
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v1/artists/:
get:
operationId: get_artists
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedArtistWithAlbumsList'
description: ''
/api/v1/artists/{id}/:
get:
operationId: get_artist
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbums'
description: ''
/api/v1/artists/{id}/fetches/:
get:
operationId: get_artist_fetches
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_artist_fetch
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v1/artists/{id}/libraries/:
get:
operationId: get_artist_libraries
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v1/artists/{id}/mutations/:
get:
operationId: get_artist_mutations
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_artist_mutation
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v1/attachments/:
post:
operationId: create_attachment
tags:
- attachments
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AttachmentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AttachmentRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AttachmentRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
/api/v1/attachments/{uuid}/:
get:
operationId: get_attachment
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
delete:
operationId: delete_attachment
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/attachments/{uuid}/proxy/:
get:
operationId: get_attachment_proxy
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
/api/v1/auth/password/change/:
post:
operationId: change_password
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChange'
description: ''
/api/v1/auth/password/reset/:
post:
operationId: reset_password
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordReset'
description: ''
/api/v1/auth/password/reset/confirm/:
post:
operationId: confirm_password_reset
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetConfirm'
description: ''
/api/v1/auth/registration/:
post:
operationId: register
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RegisterRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RegisterRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RegisterRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Register'
description: ''
/api/v1/auth/registration/change-password/:
post:
operationId: change_password_2
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChange'
description: ''
/api/v1/auth/registration/verify-email/:
post:
operationId: verify_email
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
description: No response body
/api/v1/auth/user/:
get:
operationId: get_auth_user
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
put:
operationId: update_auth_user
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
patch:
operationId: partial_update_auth_user
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
/api/v1/channels/:
get:
operationId: get_channels
parameters:
- in: query
name: external
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -modification_date
- -random
- creation_date
- modification_date
- random
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: subscribed
schema:
type: boolean
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedChannelList'
description: ''
post:
operationId: create_channel
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelCreate'
description: ''
/api/v1/channels/{composite}/:
get:
operationId: get_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
put:
operationId: update_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdate'
description: ''
patch:
operationId: partial_update_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdate'
description: ''
delete:
operationId: delete_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/channels/{composite}/rss/:
get:
operationId: get_channel_rss
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v1/channels/{composite}/subscribe/:
post:
operationId: subscribe_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v1/channels/{composite}/unsubscribe/:
post:
operationId: unsubscribe_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
delete:
operationId: unsubscribe_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/channels/metadata-choices/:
get:
operationId: get_channel_metadata_choices
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v1/channels/rss-subscribe/:
post:
operationId: subscribe_channel_rss
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v1/favorites/tracks/:
get:
operationId: get_favorite_tracks
parameters:
- in: query
name: hidden
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserTrackFavoriteList'
description: ''
post:
operationId: favorite_track
tags:
- favorites
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWrite'
description: ''
/api/v1/favorites/tracks/{id}/:
delete:
operationId: delete_favorite_track
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track favorite.
required: true
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/favorites/tracks/all/:
get:
operationId: get_all_favorite_tracks
description: |-
Return all the favorites of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
favorites status in the UI
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AllFavorite'
description: ''
/api/v1/favorites/tracks/remove/:
post:
operationId: unfavorite_track_2
tags:
- favorites
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWrite'
description: ''
delete:
operationId: unfavorite_track
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/federation/actors/{full_username}/:
get:
operationId: get_federation_actor
parameters:
- in: path
name: full_username
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FullActor'
description: ''
/api/v1/federation/actors/{full_username}/libraries/:
get:
operationId: get_federation_actor_library
parameters:
- in: path
name: full_username
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwner'
description: ''
/api/v1/federation/domains/:
get:
operationId: get_federation_domains
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDomainList'
description: ''
/api/v1/federation/domains/{name}/:
get:
operationId: get_federation_domain
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Domain'
description: ''
/api/v1/federation/fetches/:
post:
operationId: create_federation_fetch
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FetchRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FetchRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FetchRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v1/federation/fetches/{id}/:
get:
operationId: get_federation_fetch
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this fetch.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v1/federation/follows/library/:
get:
operationId: get_federation_library_follows
parameters:
- in: query
name: approved
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryFollowList'
description: ''
post:
operationId: create_federation_library_follow
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v1/federation/follows/library/{uuid}/:
get:
operationId: get_federation_library_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
delete:
operationId: delete_federation_library_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/federation/follows/library/{uuid}/accept/:
post:
operationId: accept_federation_library_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'404':
description: No response body
'204':
description: No response body
/api/v1/federation/follows/library/{uuid}/reject/:
post:
operationId: reject_federation_library_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v1/federation/follows/library/all/:
get:
operationId: get_all_federation_library_follows
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v1/federation/follows/user/:
get:
operationId: get_federation_received_follows
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFollowList'
description: ''
post:
operationId: create_federation_user_follow
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v1/federation/follows/user/{uuid}/:
get:
operationId: get_federation_user_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
delete:
operationId: delete_federation_user_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/federation/follows/user/{uuid}/accept/:
post:
operationId: accept_federation_user_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'404':
description: No response body
'204':
description: No response body
/api/v1/federation/follows/user/{uuid}/reject/:
post:
operationId: reject_federation_user_follow
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v1/federation/follows/user/all/:
get:
operationId: get_all_federation_library_follows_2
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v1/federation/inbox/:
get:
operationId: get_federation_inboxes
parameters:
- in: query
name: activity__actor
schema:
type: integer
- in: query
name: activity__type
schema:
type: string
- in: query
name: before
schema:
type: number
- in: query
name: is_read
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedInboxItemList'
description: ''
/api/v1/federation/inbox/{id}/:
get:
operationId: get_federation_inbox
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
put:
operationId: update_federation_inbox
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
patch:
operationId: partial_update_federation_inbox
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
/api/v1/federation/inbox/action/:
post:
operationId: create_federation_inbox_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
/api/v1/federation/libraries/{uuid}/:
get:
operationId: get_federation_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v1/federation/libraries/{uuid}/scan/:
post:
operationId: create_federation_library_scan
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v1/federation/libraries/fetch/:
post:
operationId: create_federation_library_fetch
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v1/history/listenings/:
get:
operationId: get_history_listenings
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: hidden
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: scope
schema:
type: string
- in: query
name: username
schema:
type: string
tags:
- history
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedListeningList'
description: ''
post:
operationId: create_history_listening
tags:
- history
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ListeningWrite'
description: ''
/api/v1/history/listenings/{id}/:
get:
operationId: get_history_listening
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this listening.
required: true
tags:
- history
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Listening'
description: ''
/api/v1/instance/admin/settings/:
get:
operationId: get_instance_admin_settings
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
tags:
- instance
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v1/instance/admin/settings/{id}/:
get:
operationId: get_instance_admin_setting
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
put:
operationId: update_instance_admin_setting
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
patch:
operationId: partial_update_instance_admin_setting
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v1/instance/admin/settings/bulk/:
post:
operationId: create_instance_admin_setting_bulk
description: |-
Update multiple preferences at once
this is a long method because we ensure everything is valid
before actually persisting the changes
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v1/instance/nodeinfo/2.0/:
get:
operationId: getNodeInfo20
tags:
- instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/NodeInfo20'
description: ''
/api/v1/instance/settings/:
get:
operationId: get_instance_settings
tags:
- instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v1/instance/spa-manifest.json:
get:
operationId: get_spa_manifest
tags:
- instance
responses:
'200':
content:
application/activity+json:
schema:
$ref: '#/components/schemas/SpaManifest'
description: ''
/api/v1/libraries/:
get:
operationId: get_libraries
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- instance
- me
description: |-
* `me` - Only me
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryForOwnerList'
description: ''
/api/v1/libraries/{uuid}/:
get:
operationId: get_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwner'
description: ''
/api/v1/libraries/fs-import/:
get:
operationId: get_library_fs_import
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
post:
operationId: create_library_fs_import
tags:
- libraries
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
delete:
operationId: delete_library_fs_import
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/licenses/:
get:
operationId: get_licenses
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- licenses
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLicenseList'
description: ''
/api/v1/licenses/{code}/:
get:
operationId: get_license
parameters:
- in: path
name: code
schema:
type: string
description: A unique value identifying this license.
required: true
tags:
- licenses
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/License'
description: ''
/api/v1/listen/{uuid}/:
get:
operationId: get_listen
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- listen
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
audio/*:
schema:
type: string
format: binary
description: ''
/api/v1/manage/accounts/:
get:
operationId: admin_get_accounts
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: local
schema:
type: boolean
- in: query
name: manually_approves_followers
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: type
schema:
type: string
enum:
- Application
- Group
- Organization
- Person
- Service
- Tombstone
description: |-
* `Person` - Person
* `Tombstone` - Tombstone
* `Application` - Application
* `Group` - Group
* `Organization` - Organization
* `Service` - Service
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageActorList'
description: ''
/api/v1/manage/accounts/{id}/:
get:
operationId: admin_get_account
parameters:
- in: path
name: id
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v1/manage/accounts/{id}/stats/:
get:
operationId: admin_get_account_stats
parameters:
- in: path
name: id
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v1/manage/accounts/action/:
post:
operationId: admin_create_account_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActorRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageActorRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageActorRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageActorRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v1/manage/channels/:
get:
operationId: admin_get_channels
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageChannelList'
description: ''
/api/v1/manage/channels/{composite}/:
get:
operationId: admin_get_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageChannel'
description: ''
delete:
operationId: admin_delete_channel
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/channels/{composite}/stats/:
get:
operationId: admin_get_channel_stats
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageChannel'
description: ''
/api/v1/manage/federation/domains/:
get:
operationId: admin_get_federation_domains
parameters:
- in: query
name: allowed
schema:
type: boolean
- in: query
name: name
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageDomainList'
description: ''
post:
operationId: admin_create_federation_domain
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v1/manage/federation/domains/{name}/:
get:
operationId: admin_get_federation_domain
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
put:
operationId: admin_update_federation_domain
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdate'
description: ''
patch:
operationId: admin_partial_update_federation_domain
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdate'
description: ''
/api/v1/manage/federation/domains/{name}/nodeinfo/:
get:
operationId: admin_get_federation_domain_nodeinfo
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v1/manage/federation/domains/{name}/stats/:
get:
operationId: admin_get_federation_domain_stats
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v1/manage/federation/domains/action/:
post:
operationId: admin_create_federation_domain_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v1/manage/library/albums/:
get:
operationId: admin_get_albums
parameters:
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: fid
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: title
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageAlbumList'
description: ''
/api/v1/manage/library/albums/{id}/:
get:
operationId: admin_get_album
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
delete:
operationId: admin_delete_album
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/library/albums/{id}/stats/:
get:
operationId: admin_get_library_album_stats
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
/api/v1/manage/library/albums/action/:
post:
operationId: admin_create_album_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
/api/v1/manage/library/artists/:
get:
operationId: admin_get_artists
parameters:
- in: query
name: content_category
schema:
type: string
enum:
- music
- other
- podcast
description: |-
* `music` - music
* `podcast` - podcast
* `other` - other
- in: query
name: fid
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageArtistList'
description: ''
/api/v1/manage/library/artists/{id}/:
get:
operationId: admin_get_artist
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
delete:
operationId: admin_delete_artist
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/library/artists/{id}/stats/:
get:
operationId: admin_get_library_artist_stats
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
/api/v1/manage/library/artists/action/:
post:
operationId: admin_create_artist_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
/api/v1/manage/library/libraries/:
get:
operationId: admin_get_libraries
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: fid
schema:
type: string
- in: query
name: name
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -followers_count
- -uploads_count
- creation_date
- followers_count
- uploads_count
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `uploads_count` - Uploads count
* `-uploads_count` - Uploads count (descending)
* `followers_count` - Followers count
* `-followers_count` - Followers count (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- instance
- me
description: |-
* `me` - Only me
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageLibraryList'
description: ''
/api/v1/manage/library/libraries/{uuid}/:
get:
operationId: admin_get_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
put:
operationId: admin_update_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
patch:
operationId: admin_partial_update_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
delete:
operationId: admin_delete_library
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/library/libraries/{uuid}/stats/:
get:
operationId: admin_get_library_stats
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
/api/v1/manage/library/libraries/action/:
post:
operationId: admin_create_library_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
/api/v1/manage/library/tracks/:
get:
operationId: admin_get_tracks
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: fid
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: title
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageTrackList'
description: ''
/api/v1/manage/library/tracks/{id}/:
get:
operationId: admin_get_track
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
delete:
operationId: admin_delete_track
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/library/tracks/{id}/stats/:
get:
operationId: admin_get_track_stats
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
/api/v1/manage/library/tracks/action/:
post:
operationId: admin_create_track_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
/api/v1/manage/library/uploads/:
get:
operationId: admin_get_uploads
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: fid
schema:
type: string
- in: query
name: import_reference
schema:
type: string
- in: query
name: import_status
schema:
type: string
enum:
- draft
- errored
- finished
- pending
- skipped
description: |-
* `draft` - Draft
* `pending` - Pending
* `finished` - Finished
* `errored` - Errored
* `skipped` - Skipped
- in: query
name: mimetype
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -accessed_date
- -bitrate
- -creation_date
- -duration
- -modification_date
- -size
- accessed_date
- bitrate
- creation_date
- duration
- modification_date
- size
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `accessed_date` - Accessed date
* `-accessed_date` - Accessed date (descending)
* `size` - Size
* `-size` - Size (descending)
* `bitrate` - Bitrate
* `-bitrate` - Bitrate (descending)
* `duration` - Duration
* `-duration` - Duration (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUploadList'
description: ''
/api/v1/manage/library/uploads/{uuid}/:
get:
operationId: admin_get_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUpload'
description: ''
delete:
operationId: admin_delete_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/library/uploads/action/:
post:
operationId: admin_create_upload_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUpload'
description: ''
/api/v1/manage/moderation/instance-policies/:
get:
operationId: moderation_get_instance_policies
parameters:
- in: query
name: block_all
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: reject_media
schema:
type: boolean
- in: query
name: silence_activity
schema:
type: boolean
- in: query
name: silence_notifications
schema:
type: boolean
- in: query
name: target_account_domain
schema:
type: string
- in: query
name: target_account_username
schema:
type: string
- in: query
name: target_domain
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageInstancePolicyList'
description: ''
post:
operationId: moderation_create_instance_policy
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
/api/v1/manage/moderation/instance-policies/{id}/:
get:
operationId: moderation_get_instance_policy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
put:
operationId: moderation_update_instance_policy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
patch:
operationId: moderation_partial_update_instance_policy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
delete:
operationId: moderation_delete_instance_policy
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/moderation/notes/:
get:
operationId: moderation_get_notes
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageNoteList'
description: ''
post:
operationId: moderation_create_note
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNote'
description: ''
/api/v1/manage/moderation/notes/{uuid}/:
get:
operationId: moderation_get_note
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNote'
description: ''
delete:
operationId: moderation_delete_note
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/moderation/reports/:
get:
operationId: moderation_get_reports
parameters:
- in: query
name: is_handled
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: submitter_email
schema:
type: string
- in: query
name: type
schema:
type: string
enum:
- illegal_content
- invalid_metadata
- offensive_content
- other
- takedown_request
description: |-
* `takedown_request` - Takedown request
* `invalid_metadata` - Invalid metadata
* `illegal_content` - Illegal content
* `offensive_content` - Offensive content
* `other` - Other
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageReportList'
description: ''
/api/v1/manage/moderation/reports/{uuid}/:
get:
operationId: moderation_get_report
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
put:
operationId: moderation_update_report
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageReportRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
patch:
operationId: moderation_partial_update_report
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
/api/v1/manage/moderation/requests/:
get:
operationId: moderation_get_requests
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: status
schema:
type: string
enum:
- approved
- pending
- refused
description: |-
* `pending` - Pending
* `refused` - Refused
* `approved` - Approved
- in: query
name: type
schema:
type: string
enum:
- signup
description: '* `signup` - Sign-up'
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUserRequestList'
description: ''
/api/v1/manage/moderation/requests/{uuid}/:
get:
operationId: moderation_get_request
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
put:
operationId: moderation_update_request
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
patch:
operationId: moderation_partial_update_request
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
/api/v1/manage/tags/:
get:
operationId: admin_get_tags
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageTagList'
description: ''
post:
operationId: admin_create_tag
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
/api/v1/manage/tags/{name}/:
get:
operationId: admin_get_tag
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
delete:
operationId: admin_delete_tag
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/manage/tags/action/:
post:
operationId: admin_create_tag_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
/api/v1/manage/users/invitations/:
get:
operationId: admin_get_invitations
parameters:
- in: query
name: is_open
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageInvitationList'
description: ''
post:
operationId: admin_create_invitation
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v1/manage/users/invitations/{id}/:
get:
operationId: admin_get_invitation
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
put:
operationId: admin_update_invitation
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
patch:
operationId: admin_partial_update_invitation
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v1/manage/users/invitations/action/:
post:
operationId: admin_create_invitation_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v1/manage/users/users/:
get:
operationId: admin_get_users
parameters:
- in: query
name: is_active
schema:
type: boolean
- in: query
name: is_staff
schema:
type: boolean
- in: query
name: is_superuser
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: permission_library
schema:
type: boolean
- in: query
name: permission_moderation
schema:
type: boolean
- in: query
name: permission_settings
schema:
type: boolean
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- followers
- instance
- me
description: |-
* `me` - Only me
* `followers` - Me and my followers
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUserList'
description: ''
/api/v1/manage/users/users/{id}/:
get:
operationId: admin_get_user
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
put:
operationId: admin_update_user
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUserRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
patch:
operationId: admin_partial_update_user
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
/api/v1/moderation/content-filters/:
get:
operationId: get_moderation_content_filters
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserFilterList'
description: ''
post:
operationId: create_moderation_content_filter
tags:
- moderation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilterRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserFilterRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserFilterRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserFilterRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilter'
description: ''
/api/v1/moderation/content-filters/{uuid}/:
get:
operationId: get_moderation_content_filter
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilter'
description: ''
delete:
operationId: delete_moderation_content_filter
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/moderation/reports/:
post:
operationId: create_moderation_report
tags:
- moderation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ReportRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
description: ''
/api/v1/mutations/:
get:
operationId: get_mutations
parameters:
- in: query
name: is_applied
schema:
type: boolean
- in: query
name: is_approved
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: type
schema:
type: string
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
/api/v1/mutations/{uuid}/:
get:
operationId: get_mutation
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
delete:
operationId: delete_mutation
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/mutations/{uuid}/approve/:
post:
operationId: approve_mutation
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/APIMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v1/mutations/{uuid}/reject/:
post:
operationId: reject_mutation
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/APIMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v1/oauth/apps/:
get:
operationId: get_oauth_apps
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedApplicationList'
description: ''
post:
operationId: create_oauth_app
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplication'
description: ''
/api/v1/oauth/apps/{client_id}/:
get:
operationId: get_oauth_app
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
put:
operationId: update_oauth_app
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
patch:
operationId: partial_update_oauth_app
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
delete:
operationId: delete_oauth_app
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/oauth/apps/{client_id}/refresh-token/:
post:
operationId: refresh_oauth_token
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplication'
description: ''
/api/v1/oauth/grants/:
get:
operationId: get_oauth_grants
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
description: ''
/api/v1/oauth/grants/{client_id}/:
get:
operationId: get_oauth_grant
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
delete:
operationId: delete_oauth_grant
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/oembed/:
get:
operationId: get_oembed
tags:
- oembed
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Oembed'
description: ''
/api/v1/playlists/:
get:
operationId: get_playlists
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: integer
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: integer
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPlaylistList'
application/octet-stream:
schema:
$ref: '#/components/schemas/PaginatedPlaylistList'
description: ''
post:
operationId: create_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v1/playlists/{id}/:
get:
operationId: get_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
put:
operationId: update_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
patch:
operationId: partial_update_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
delete:
operationId: delete_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/playlists/{id}/add/:
post:
operationId: add_to_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v1/playlists/{id}/albums/:
get:
operationId: get_playlist_albums
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v1/playlists/{id}/artists/:
get:
operationId: get_playlist_artits
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v1/playlists/{id}/clear/:
delete:
operationId: clear_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/playlists/{id}/move/:
post:
operationId: reorder_track_in_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v1/playlists/{id}/remove/:
post:
operationId: remove_from_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
delete:
operationId: remove_from_playlist
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/playlists/{id}/tracks/:
get:
operationId: get_playlist_tracks
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: integer
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: integer
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPlaylistTrackList'
application/octet-stream:
schema:
$ref: '#/components/schemas/PaginatedPlaylistTrackList'
description: ''
/api/v1/plugins/:
get:
operationId: get_plugins
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
post:
operationId: create_plugin
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
description: No response body
/api/v1/plugins/{id}/:
get:
operationId: get_plugin
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v1/plugins/{id}/disable/:
post:
operationId: disable_plugin
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v1/plugins/{id}/enable/:
post:
operationId: enable_plugin
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v1/plugins/{id}/scan/:
post:
operationId: create_plugin_scan
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v1/radios/radios/:
get:
operationId: get_radios
parameters:
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRadioList'
description: ''
post:
operationId: create_radio
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
/api/v1/radios/radios/{id}/:
get:
operationId: get_radio
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
put:
operationId: update_radio
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
patch:
operationId: partial_update_radio
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
delete:
operationId: delete_radio
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/radios/radios/{id}/tracks/:
get:
operationId: get_radio_track
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Track'
description: ''
/api/v1/radios/radios/filters/:
get:
operationId: get_radio_filter
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Filter'
description: ''
/api/v1/radios/radios/validate/:
post:
operationId: validate_radio
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
/api/v1/radios/sessions/:
post:
operationId: create_radio_session
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSession'
description: ''
/api/v1/radios/sessions/{id}/:
get:
operationId: get_radio_session
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio session.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSession'
description: ''
/api/v1/radios/tracks/:
post:
operationId: get_next_radio_track
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreate'
description: ''
/api/v1/rate-limit/:
get:
operationId: get_rate_limit
tags:
- rate-limit
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimit'
description: ''
/api/v1/search:
get:
operationId: get_search_results
tags:
- search
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
description: ''
/api/v1/stream/{uuid}/:
get:
operationId: get_track_stream
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- stream
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
audio/mpeg:
schema:
type: string
format: binary
description: ''
/api/v1/subscriptions/:
get:
operationId: get_subscriptions
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSubscriptionList'
description: ''
/api/v1/subscriptions/{uuid}/:
get:
operationId: get_subscription
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
description: ''
/api/v1/subscriptions/all/:
get:
operationId: get_all_subscriptions
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AllSubscriptions'
description: ''
/api/v1/tags/:
get:
operationId: get_tags
parameters:
- in: query
name: name
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -length
- -name
- creation_date
- length
- name
description: |-
Ordering
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `length` - Length
* `-length` - Length (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- tags
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTagList'
description: ''
/api/v1/tags/{name}/:
get:
operationId: get_tag
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- tags
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
/api/v1/text-preview/:
post:
operationId: preview_text
tags:
- text-preview
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TextPreview'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetail'
description: ''
/api/v1/tracks/:
get:
operationId: get_tracks
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: id
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTrackList'
description: ''
/api/v1/tracks/{id}/:
get:
operationId: get_track
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Track'
description: ''
delete:
operationId: delete_track
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/tracks/{id}/fetches/:
get:
operationId: get_track_fetches
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_track_fetch
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v1/tracks/{id}/libraries/:
get:
operationId: get_track_libraries
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v1/tracks/{id}/mutations/:
get:
operationId: get_track_mutations
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_track_mutation
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v1/uploads/:
get:
operationId: get_uploads
parameters:
- in: query
name: album_artist
schema:
type: string
format: uuid
- in: query
name: channel
schema:
type: string
- in: query
name: import_reference
schema:
type: string
- in: query
name: import_status
schema:
type: array
items:
type: string
enum:
- draft
- errored
- finished
- pending
- skipped
description: |-
* `draft` - Draft
* `pending` - Pending
* `finished` - Finished
* `errored` - Errored
* `skipped` - Skipped
explode: true
style: form
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
format: uuid
- in: query
name: mimetype
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: string
format: uuid
- in: query
name: track_artist
schema:
type: string
format: uuid
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUploadForOwnerList'
description: ''
post:
operationId: create_upload
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v1/uploads/{uuid}/:
get:
operationId: get_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
put:
operationId: update_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
patch:
operationId: partial_update_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
delete:
operationId: delete_upload
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/uploads/{uuid}/audio-file-metadata/:
get:
operationId: get_upload_metadata
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TrackMetadata'
description: ''
/api/v1/uploads/action/:
post:
operationId: create_upload_action
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v1/uploads/bulk_update/:
patch:
operationId: partial_update_upload_bulk_update
description: Used to move an upload from one library to another. Receive a upload
uuid and a privacy_level
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v1/users/{username}/:
put:
operationId: update_user
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
patch:
operationId: partial_update_user
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
/api/v1/users/{username}/subsonic-token/:
get:
operationId: get_user_subsonic_token
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
post:
operationId: create_user_subsonic_token
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_user_subsonic_token
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/users/change-email/:
post:
operationId: change_email
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
'403':
description: No response body
/api/v1/users/me/:
get:
operationId: get_authenticated_user
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_authenticated_user
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v1/users/settings/:
post:
operationId: update_settings
description: Return information about the current user or delete it
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
/api/v2/activity/:
get:
operationId: get_activity_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- activity
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/albums/:
get:
operationId: get_albums_2
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAlbumList'
description: ''
post:
operationId: create_album_2
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumCreate'
description: ''
/api/v2/albums/{id}/:
get:
operationId: get_album_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Album'
description: ''
delete:
operationId: delete_album_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/albums/{id}/fetches/:
get:
operationId: get_album_fetches_2
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_album_fetch_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v2/albums/{id}/libraries/:
get:
operationId: get_album_libraries_2
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v2/albums/{id}/mutations/:
get:
operationId: get_album_mutations_2
parameters:
- in: query
name: artist
schema:
type: string
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: channel
schema:
type: string
- in: query
name: content_category
schema:
type: string
- in: query
name: has_cover
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: has_release_date
schema:
type: boolean
- in: query
name: has_tags
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -artist_credit__artist__modification_date
- -creation_date
- -random
- -related
- -release_date
- -title
- artist_credit__artist__modification_date
- creation_date
- random
- related
- release_date
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `release_date` - Release date
* `-release_date` - Release date (descending)
* `title` - Title
* `-title` - Title (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- albums
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_album_mutation_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- albums
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v2/artists/:
get:
operationId: get_artists_2
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedArtistWithAlbumsList'
description: ''
/api/v2/artists/{id}/:
get:
operationId: get_artist_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbums'
description: ''
/api/v2/artists/{id}/fetches/:
get:
operationId: get_artist_fetches_2
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_artist_fetch_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v2/artists/{id}/libraries/:
get:
operationId: get_artist_libraries_2
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v2/artists/{id}/mutations/:
get:
operationId: get_artist_mutations_2
parameters:
- in: query
name: content_category
schema:
type: string
- in: query
name: has_albums
schema:
type: boolean
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -id
- -modification_date
- -name
- -random
- -related
- creation_date
- id
- modification_date
- name
- random
- related
description: |-
Ordering
* `id` - Id
* `-id` - Id (descending)
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- artists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_artist_mutation_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- artists
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ArtistWithAlbumsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v2/attachments/:
post:
operationId: create_attachment_2
tags:
- attachments
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AttachmentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AttachmentRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/AttachmentRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
/api/v2/attachments/{uuid}/:
get:
operationId: get_attachment_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
delete:
operationId: delete_attachment_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/attachments/{uuid}/proxy/:
get:
operationId: get_attachment_proxy_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- attachments
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Attachment'
description: ''
/api/v2/auth/password/change/:
post:
operationId: change_password_3
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChange'
description: ''
/api/v2/auth/password/reset/:
post:
operationId: reset_password_2
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordResetRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordReset'
description: ''
/api/v2/auth/password/reset/confirm/:
post:
operationId: confirm_password_reset_2
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetConfirm'
description: ''
/api/v2/auth/registration/:
post:
operationId: register_2
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RegisterRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RegisterRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RegisterRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Register'
description: ''
/api/v2/auth/registration/change-password/:
post:
operationId: change_password_4
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChange'
description: ''
/api/v2/auth/registration/verify-email/:
post:
operationId: verify_email_2
description: The type of the None singleton.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/VerifyEmailRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
- {}
responses:
'200':
description: No response body
/api/v2/auth/user/:
get:
operationId: get_auth_user_2
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
put:
operationId: update_auth_user_2
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserDetailsRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
patch:
operationId: partial_update_auth_user_2
description: |-
Reads and updates UserModel fields
Accepts GET, PUT, PATCH methods.
Default accepted fields: username, first_name, last_name
Default display fields: pk, username, email, first_name, last_name
Read-only fields: pk, email
Returns UserModel fields.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUserDetailsRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
description: ''
/api/v2/channels/:
get:
operationId: get_channels_2
parameters:
- in: query
name: external
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -modification_date
- -random
- creation_date
- modification_date
- random
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `random` - Random
* `-random` - Random (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: subscribed
schema:
type: boolean
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedChannelList'
description: ''
post:
operationId: create_channel_2
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelCreate'
description: ''
/api/v2/channels/{composite}/:
get:
operationId: get_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
put:
operationId: update_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelUpdateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdate'
description: ''
patch:
operationId: partial_update_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedChannelUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelUpdate'
description: ''
delete:
operationId: delete_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/channels/{composite}/rss/:
get:
operationId: get_channel_rss_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v2/channels/{composite}/subscribe/:
post:
operationId: subscribe_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v2/channels/{composite}/unsubscribe/:
post:
operationId: unsubscribe_channel_4
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
delete:
operationId: unsubscribe_channel_3
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/channels/metadata-choices/:
get:
operationId: get_channel_metadata_choices_2
tags:
- channels
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v2/channels/rss-subscribe/:
post:
operationId: subscribe_channel_rss_2
tags:
- channels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChannelRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChannelRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ChannelRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Channel'
description: ''
/api/v2/favorites/tracks/:
get:
operationId: get_favorite_tracks_2
parameters:
- in: query
name: hidden
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserTrackFavoriteList'
description: ''
post:
operationId: favorite_track_2
tags:
- favorites
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWrite'
description: ''
/api/v2/favorites/tracks/{id}/:
delete:
operationId: delete_favorite_track_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track favorite.
required: true
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/favorites/tracks/all/:
get:
operationId: get_all_favorite_tracks_2
description: |-
Return all the favorites of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
favorites status in the UI
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AllFavorite'
description: ''
/api/v2/favorites/tracks/remove/:
post:
operationId: unfavorite_track_4
tags:
- favorites
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserTrackFavoriteWrite'
description: ''
delete:
operationId: unfavorite_track_3
tags:
- favorites
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/federation/actors/{full_username}/:
get:
operationId: get_federation_actor_2
parameters:
- in: path
name: full_username
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FullActor'
description: ''
/api/v2/federation/actors/{full_username}/libraries/:
get:
operationId: get_federation_actor_library_2
parameters:
- in: path
name: full_username
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwner'
description: ''
/api/v2/federation/domains/:
get:
operationId: get_federation_domains_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDomainList'
description: ''
/api/v2/federation/domains/{name}/:
get:
operationId: get_federation_domain_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Domain'
description: ''
/api/v2/federation/fetches/:
post:
operationId: create_federation_fetch_2
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FetchRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FetchRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FetchRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FetchRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v2/federation/fetches/{id}/:
get:
operationId: get_federation_fetch_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this fetch.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v2/federation/follows/library/:
get:
operationId: get_federation_library_follows_2
parameters:
- in: query
name: approved
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryFollowList'
description: ''
post:
operationId: create_federation_library_follow_2
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v2/federation/follows/library/{uuid}/:
get:
operationId: get_federation_library_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
delete:
operationId: delete_federation_library_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/federation/follows/library/{uuid}/accept/:
post:
operationId: accept_federation_library_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'404':
description: No response body
'204':
description: No response body
/api/v2/federation/follows/library/{uuid}/reject/:
post:
operationId: reject_federation_library_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryFollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v2/federation/follows/library/all/:
get:
operationId: get_all_federation_library_follows_3
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryFollow'
description: ''
/api/v2/federation/follows/user/:
get:
operationId: get_federation_received_follows_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFollowList'
description: ''
post:
operationId: create_federation_user_follow_2
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v2/federation/follows/user/{uuid}/:
get:
operationId: get_federation_user_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
delete:
operationId: delete_federation_user_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/federation/follows/user/{uuid}/accept/:
post:
operationId: accept_federation_user_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'404':
description: No response body
'204':
description: No response body
/api/v2/federation/follows/user/{uuid}/reject/:
post:
operationId: reject_federation_user_follow_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FollowRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FollowRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FollowRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/FollowRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v2/federation/follows/user/all/:
get:
operationId: get_all_federation_library_follows_4
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Follow'
description: ''
/api/v2/federation/inbox/:
get:
operationId: get_federation_inboxes_2
parameters:
- in: query
name: activity__actor
schema:
type: integer
- in: query
name: activity__type
schema:
type: string
- in: query
name: before
schema:
type: number
- in: query
name: is_read
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedInboxItemList'
description: ''
/api/v2/federation/inbox/{id}/:
get:
operationId: get_federation_inbox_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
put:
operationId: update_federation_inbox_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
patch:
operationId: partial_update_federation_inbox_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this inbox item.
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedInboxItemRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
/api/v2/federation/inbox/action/:
post:
operationId: create_federation_inbox_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/InboxItemRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/InboxItemRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/InboxItemRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InboxItem'
description: ''
/api/v2/federation/libraries/{uuid}/:
get:
operationId: get_federation_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v2/federation/libraries/{uuid}/scan/:
post:
operationId: create_federation_library_scan_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v2/federation/libraries/fetch/:
post:
operationId: create_federation_library_fetch_2
tags:
- federation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Library'
description: ''
/api/v2/history/listenings/:
get:
operationId: get_history_listenings_2
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: hidden
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: scope
schema:
type: string
- in: query
name: username
schema:
type: string
tags:
- history
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedListeningList'
description: ''
post:
operationId: create_history_listening_2
tags:
- history
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ListeningWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ListeningWrite'
description: ''
/api/v2/history/listenings/{id}/:
get:
operationId: get_history_listening_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this listening.
required: true
tags:
- history
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Listening'
description: ''
/api/v2/instance/admin/settings/:
get:
operationId: get_instance_admin_settings_2
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
tags:
- instance
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v2/instance/admin/settings/{id}/:
get:
operationId: get_instance_admin_setting_2
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
put:
operationId: update_instance_admin_setting_2
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
patch:
operationId: partial_update_instance_admin_setting_2
description: |-
- list preferences
- detail given preference
- batch update preferences
- update a single preference
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this Global preference.
required: true
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedGlobalPreferenceRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v2/instance/admin/settings/bulk/:
post:
operationId: create_instance_admin_setting_bulk_2
description: |-
Update multiple preferences at once
this is a long method because we ensure everything is valid
before actually persisting the changes
tags:
- instance
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/GlobalPreferenceRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v2/instance/nodeinfo/2.1/:
get:
operationId: getNodeInfo20_2
tags:
- instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/NodeInfo20'
description: ''
/api/v2/instance/settings/:
get:
operationId: get_instance_settings_2
tags:
- instance
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GlobalPreference'
description: ''
/api/v2/instance/spa-manifest.json:
get:
operationId: get_spa_manifest_2
tags:
- instance
responses:
'200':
content:
application/activity+json:
schema:
$ref: '#/components/schemas/SpaManifest'
description: ''
/api/v2/libraries/:
get:
operationId: get_libraries_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- instance
- me
description: |-
* `me` - Only me
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryForOwnerList'
description: ''
/api/v2/libraries/{uuid}/:
get:
operationId: get_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwner'
description: ''
/api/v2/libraries/fs-import/:
get:
operationId: get_library_fs_import_2
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
post:
operationId: create_library_fs_import_2
tags:
- libraries
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/LibraryForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
delete:
operationId: delete_library_fs_import_2
tags:
- libraries
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/licenses/:
get:
operationId: get_licenses_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- licenses
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLicenseList'
description: ''
/api/v2/licenses/{code}/:
get:
operationId: get_license_2
parameters:
- in: path
name: code
schema:
type: string
description: A unique value identifying this license.
required: true
tags:
- licenses
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/License'
description: ''
/api/v2/listen/{uuid}/:
get:
operationId: get_listen_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- listen
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
audio/*:
schema:
type: string
format: binary
description: ''
/api/v2/manage/accounts/:
get:
operationId: admin_get_accounts_2
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: local
schema:
type: boolean
- in: query
name: manually_approves_followers
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: type
schema:
type: string
enum:
- Application
- Group
- Organization
- Person
- Service
- Tombstone
description: |-
* `Person` - Person
* `Tombstone` - Tombstone
* `Application` - Application
* `Group` - Group
* `Organization` - Organization
* `Service` - Service
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageActorList'
description: ''
/api/v2/manage/accounts/{id}/:
get:
operationId: admin_get_account_2
parameters:
- in: path
name: id
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v2/manage/accounts/{id}/stats/:
get:
operationId: admin_get_account_stats_2
parameters:
- in: path
name: id
schema:
type: string
pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v2/manage/accounts/action/:
post:
operationId: admin_create_account_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActorRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageActorRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageActorRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageActorRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageActor'
description: ''
/api/v2/manage/channels/:
get:
operationId: admin_get_channels_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageChannelList'
description: ''
/api/v2/manage/channels/{composite}/:
get:
operationId: admin_get_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageChannel'
description: ''
delete:
operationId: admin_delete_channel_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/channels/{composite}/stats/:
get:
operationId: admin_get_channel_stats_2
parameters:
- in: path
name: composite
schema:
type: string
pattern: ^[^/]+$
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageChannel'
description: ''
/api/v2/manage/federation/domains/:
get:
operationId: admin_get_federation_domains_2
parameters:
- in: query
name: allowed
schema:
type: boolean
- in: query
name: name
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageDomainList'
description: ''
post:
operationId: admin_create_federation_domain_2
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v2/manage/federation/domains/{name}/:
get:
operationId: admin_get_federation_domain_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
put:
operationId: admin_update_federation_domain_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdate'
description: ''
patch:
operationId: admin_partial_update_federation_domain_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageDomainUpdateRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainUpdate'
description: ''
/api/v2/manage/federation/domains/{name}/nodeinfo/:
get:
operationId: admin_get_federation_domain_nodeinfo_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v2/manage/federation/domains/{name}/stats/:
get:
operationId: admin_get_federation_domain_stats_2
parameters:
- in: path
name: name
schema:
type: string
description: A unique value identifying this domain.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v2/manage/federation/domains/action/:
post:
operationId: admin_create_federation_domain_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageDomainRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageDomain'
description: ''
/api/v2/manage/library/albums/:
get:
operationId: admin_get_albums_2
parameters:
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: fid
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: title
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageAlbumList'
description: ''
/api/v2/manage/library/albums/{id}/:
get:
operationId: admin_get_album_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
delete:
operationId: admin_delete_album_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/library/albums/{id}/stats/:
get:
operationId: admin_get_library_album_stats_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this album.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
/api/v2/manage/library/albums/action/:
post:
operationId: admin_create_album_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageAlbumRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageAlbum'
description: ''
/api/v2/manage/library/artists/:
get:
operationId: admin_get_artists_2
parameters:
- in: query
name: content_category
schema:
type: string
enum:
- music
- other
- podcast
description: |-
* `music` - music
* `podcast` - podcast
* `other` - other
- in: query
name: fid
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: name
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageArtistList'
description: ''
/api/v2/manage/library/artists/{id}/:
get:
operationId: admin_get_artist_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
delete:
operationId: admin_delete_artist_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/library/artists/{id}/stats/:
get:
operationId: admin_get_library_artist_stats_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this artist.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
/api/v2/manage/library/artists/action/:
post:
operationId: admin_create_artist_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageArtistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageArtist'
description: ''
/api/v2/manage/library/libraries/:
get:
operationId: admin_get_libraries_2
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: fid
schema:
type: string
- in: query
name: name
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -followers_count
- -uploads_count
- creation_date
- followers_count
- uploads_count
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `uploads_count` - Uploads count
* `-uploads_count` - Uploads count (descending)
* `followers_count` - Followers count
* `-followers_count` - Followers count (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- instance
- me
description: |-
* `me` - Only me
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageLibraryList'
description: ''
/api/v2/manage/library/libraries/{uuid}/:
get:
operationId: admin_get_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
put:
operationId: admin_update_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
patch:
operationId: admin_partial_update_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageLibraryRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
delete:
operationId: admin_delete_library_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/library/libraries/{uuid}/stats/:
get:
operationId: admin_get_library_stats_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
/api/v2/manage/library/libraries/action/:
post:
operationId: admin_create_library_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageLibraryRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageLibrary'
description: ''
/api/v2/manage/library/tracks/:
get:
operationId: admin_get_tracks_2
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist_credit
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: fid
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: title
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageTrackList'
description: ''
/api/v2/manage/library/tracks/{id}/:
get:
operationId: admin_get_track_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
delete:
operationId: admin_delete_track_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/library/tracks/{id}/stats/:
get:
operationId: admin_get_track_stats_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
/api/v2/manage/library/tracks/action/:
post:
operationId: admin_create_track_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTrack'
description: ''
/api/v2/manage/library/uploads/:
get:
operationId: admin_get_uploads_2
parameters:
- in: query
name: domain
schema:
type: string
- in: query
name: fid
schema:
type: string
- in: query
name: import_reference
schema:
type: string
- in: query
name: import_status
schema:
type: string
enum:
- draft
- errored
- finished
- pending
- skipped
description: |-
* `draft` - Draft
* `pending` - Pending
* `finished` - Finished
* `errored` - Errored
* `skipped` - Skipped
- in: query
name: mimetype
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -accessed_date
- -bitrate
- -creation_date
- -duration
- -modification_date
- -size
- accessed_date
- bitrate
- creation_date
- duration
- modification_date
- size
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `modification_date` - Modification date
* `-modification_date` - Modification date (descending)
* `accessed_date` - Accessed date
* `-accessed_date` - Accessed date (descending)
* `size` - Size
* `-size` - Size (descending)
* `bitrate` - Bitrate
* `-bitrate` - Bitrate (descending)
* `duration` - Duration
* `-duration` - Duration (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: privacy_level
schema:
type: string
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUploadList'
description: ''
/api/v2/manage/library/uploads/{uuid}/:
get:
operationId: admin_get_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUpload'
description: ''
delete:
operationId: admin_delete_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/library/uploads/action/:
post:
operationId: admin_create_upload_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUploadRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUpload'
description: ''
/api/v2/manage/moderation/instance-policies/:
get:
operationId: moderation_get_instance_policies_2
parameters:
- in: query
name: block_all
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: reject_media
schema:
type: boolean
- in: query
name: silence_activity
schema:
type: boolean
- in: query
name: silence_notifications
schema:
type: boolean
- in: query
name: target_account_domain
schema:
type: string
- in: query
name: target_account_username
schema:
type: string
- in: query
name: target_domain
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageInstancePolicyList'
description: ''
post:
operationId: moderation_create_instance_policy_2
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
/api/v2/manage/moderation/instance-policies/{id}/:
get:
operationId: moderation_get_instance_policy_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
put:
operationId: moderation_update_instance_policy_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInstancePolicyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
patch:
operationId: moderation_partial_update_instance_policy_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageInstancePolicyRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInstancePolicy'
description: ''
delete:
operationId: moderation_delete_instance_policy_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this instance policy.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/moderation/notes/:
get:
operationId: moderation_get_notes_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageNoteList'
description: ''
post:
operationId: moderation_create_note_2
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageNoteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNote'
description: ''
/api/v2/manage/moderation/notes/{uuid}/:
get:
operationId: moderation_get_note_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageNote'
description: ''
delete:
operationId: moderation_delete_note_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/moderation/reports/:
get:
operationId: moderation_get_reports_2
parameters:
- in: query
name: is_handled
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: submitter_email
schema:
type: string
- in: query
name: type
schema:
type: string
enum:
- illegal_content
- invalid_metadata
- offensive_content
- other
- takedown_request
description: |-
* `takedown_request` - Takedown request
* `invalid_metadata` - Invalid metadata
* `illegal_content` - Illegal content
* `offensive_content` - Offensive content
* `other` - Other
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageReportList'
description: ''
/api/v2/manage/moderation/reports/{uuid}/:
get:
operationId: moderation_get_report_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
put:
operationId: moderation_update_report_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageReportRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
patch:
operationId: moderation_partial_update_report_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageReportRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageReport'
description: ''
/api/v2/manage/moderation/requests/:
get:
operationId: moderation_get_requests_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: status
schema:
type: string
enum:
- approved
- pending
- refused
description: |-
* `pending` - Pending
* `refused` - Refused
* `approved` - Approved
- in: query
name: type
schema:
type: string
enum:
- signup
description: '* `signup` - Sign-up'
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUserRequestList'
description: ''
/api/v2/manage/moderation/requests/{uuid}/:
get:
operationId: moderation_get_request_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
put:
operationId: moderation_update_request_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUserRequestRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
patch:
operationId: moderation_partial_update_request_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequestRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
description: ''
/api/v2/manage/tags/:
get:
operationId: admin_get_tags_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageTagList'
description: ''
post:
operationId: admin_create_tag_2
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
/api/v2/manage/tags/{name}/:
get:
operationId: admin_get_tag_2
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
delete:
operationId: admin_delete_tag_2
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/manage/tags/action/:
post:
operationId: admin_create_tag_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageTagRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageTagRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageTag'
description: ''
/api/v2/manage/users/invitations/:
get:
operationId: admin_get_invitations_2
parameters:
- in: query
name: is_open
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageInvitationList'
description: ''
post:
operationId: admin_create_invitation_2
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v2/manage/users/invitations/{id}/:
get:
operationId: admin_get_invitation_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
put:
operationId: admin_update_invitation_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
patch:
operationId: admin_partial_update_invitation_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this invitation.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v2/manage/users/invitations/action/:
post:
operationId: admin_create_invitation_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageInvitationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageInvitation'
description: ''
/api/v2/manage/users/users/:
get:
operationId: admin_get_users_2
parameters:
- in: query
name: is_active
schema:
type: boolean
- in: query
name: is_staff
schema:
type: boolean
- in: query
name: is_superuser
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: permission_library
schema:
type: boolean
- in: query
name: permission_moderation
schema:
type: boolean
- in: query
name: permission_settings
schema:
type: boolean
- in: query
name: privacy_level
schema:
type: string
enum:
- everyone
- followers
- instance
- me
description: |-
* `me` - Only me
* `followers` - Me and my followers
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
- in: query
name: q
schema:
type: string
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedManageUserList'
description: ''
/api/v2/manage/users/users/{id}/:
get:
operationId: admin_get_user_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
put:
operationId: admin_update_user_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ManageUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ManageUserRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ManageUserRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
patch:
operationId: admin_partial_update_user_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- manage
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedManageUserRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ManageUser'
description: ''
/api/v2/moderation/content-filters/:
get:
operationId: get_moderation_content_filters_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserFilterList'
description: ''
post:
operationId: create_moderation_content_filter_2
tags:
- moderation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilterRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserFilterRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserFilterRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserFilterRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilter'
description: ''
/api/v2/moderation/content-filters/{uuid}/:
get:
operationId: get_moderation_content_filter_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserFilter'
description: ''
delete:
operationId: delete_moderation_content_filter_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- moderation
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/moderation/reports/:
post:
operationId: create_moderation_report_2
tags:
- moderation
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReportRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReportRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReportRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ReportRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
description: ''
/api/v2/mutations/:
get:
operationId: get_mutations_2
parameters:
- in: query
name: is_applied
schema:
type: boolean
- in: query
name: is_approved
schema:
type: boolean
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: type
schema:
type: string
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
/api/v2/mutations/{uuid}/:
get:
operationId: get_mutation_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
delete:
operationId: delete_mutation_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/mutations/{uuid}/approve/:
post:
operationId: approve_mutation_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/APIMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v2/mutations/{uuid}/reject/:
post:
operationId: reject_mutation_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- mutations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/APIMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/APIMutationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/APIMutationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v2/oauth/apps/:
get:
operationId: get_oauth_apps_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedApplicationList'
description: ''
post:
operationId: create_oauth_app_2
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplication'
description: ''
/api/v2/oauth/apps/{client_id}/:
get:
operationId: get_oauth_app_2
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
put:
operationId: update_oauth_app_2
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/ApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
patch:
operationId: partial_update_oauth_app_2
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedApplicationRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
delete:
operationId: delete_oauth_app_2
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/oauth/apps/{client_id}/refresh-token/:
post:
operationId: refresh_oauth_token_2
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/CreateApplicationRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CreateApplication'
description: ''
/api/v2/oauth/authorize/:
get:
operationId: get_oauth_authorize
description: 'Handle GET requests: instantiate a blank version of the form.'
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
post:
operationId: create_oauth_authorize
description: |-
Handle POST requests: instantiate a form instance with the passed
POST variables and then check if it's valid.
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
put:
operationId: update_oauth_authorize
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/oauth/grants/:
get:
operationId: get_oauth_grants_2
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Application'
description: ''
/api/v2/oauth/grants/{client_id}/:
get:
operationId: get_oauth_grant_2
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Application'
description: ''
delete:
operationId: delete_oauth_grant_2
description: |-
This is a viewset that list applications that have access to the request user
account, to allow revoking tokens easily.
parameters:
- in: path
name: client_id
schema:
type: string
required: true
tags:
- oauth
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/oembed/:
get:
operationId: get_oembed_2
tags:
- oembed
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Oembed'
description: ''
/api/v2/playlists/:
get:
operationId: get_playlists_2
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: integer
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: integer
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPlaylistList'
application/octet-stream:
schema:
$ref: '#/components/schemas/PaginatedPlaylistList'
description: ''
post:
operationId: create_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v2/playlists/{id}/:
get:
operationId: get_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
put:
operationId: update_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
patch:
operationId: partial_update_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedPlaylistRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
delete:
operationId: delete_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/playlists/{id}/add/:
post:
operationId: add_to_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistAddManyRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v2/playlists/{id}/albums/:
get:
operationId: get_playlist_albums_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v2/playlists/{id}/artists/:
get:
operationId: get_playlist_artits_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v2/playlists/{id}/clear/:
delete:
operationId: clear_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/playlists/{id}/move/:
post:
operationId: reorder_track_in_playlist_2
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
/api/v2/playlists/{id}/remove/:
post:
operationId: remove_from_playlist_4
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
requestBody:
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/json:
schema:
$ref: '#/components/schemas/PlaylistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PlaylistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PlaylistRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Playlist'
application/octet-stream:
schema:
$ref: '#/components/schemas/Playlist'
description: ''
delete:
operationId: remove_from_playlist_3
parameters:
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/playlists/{id}/tracks/:
get:
operationId: get_playlist_tracks_2
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: integer
- in: query
name: format
schema:
type: string
enum:
- json
- xspf
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this playlist.
required: true
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: integer
tags:
- playlists
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPlaylistTrackList'
application/octet-stream:
schema:
$ref: '#/components/schemas/PaginatedPlaylistTrackList'
description: ''
/api/v2/plugins/:
get:
operationId: get_plugins_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
post:
operationId: create_plugin_2
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
description: No response body
/api/v2/plugins/{id}/:
get:
operationId: get_plugin_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/plugins/{id}/disable/:
post:
operationId: disable_plugin_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/plugins/{id}/enable/:
post:
operationId: enable_plugin_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/plugins/{id}/scan/:
post:
operationId: create_plugin_scan_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this plugin configuration.
required: true
tags:
- plugins
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/artists/{uuid}/:
get:
operationId: get_provider_musicbrainz_artist
parameters:
- in: path
name: uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/release-groups/browse/{artist_uuid}/:
get:
operationId: get_provider_musicbrainz_release_group_browse
parameters:
- in: path
name: artist_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/releases/{uuid}/:
get:
operationId: get_provider_musicbrainz_release
parameters:
- in: path
name: uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/releases/browse/{release_group_uuid}/:
get:
operationId: get_provider_musicbrainz_release_browse
parameters:
- in: path
name: release_group_uuid
schema:
type: string
pattern: ^[0-9a-z-]+$
required: true
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/search/artists/:
get:
operationId: get_provider_musicbrainz_search_artist
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/search/recordings/:
get:
operationId: get_provider_musicbrainz_search_recording
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/providers/musicbrainz/search/releases/:
get:
operationId: get_provider_musicbrainz_search_release
tags:
- providers
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
/api/v2/radios/radios/:
get:
operationId: get_radios_2
parameters:
- in: query
name: name
schema:
type: string
- in: query
name: name__icontains
schema:
type: string
- in: query
name: name__iexact
schema:
type: string
- in: query
name: name__startswith
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRadioList'
description: ''
post:
operationId: create_radio_2
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
/api/v2/radios/radios/{id}/:
get:
operationId: get_radio_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
put:
operationId: update_radio_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
patch:
operationId: partial_update_radio_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedRadioRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
delete:
operationId: delete_radio_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/radios/radios/{id}/tracks/:
get:
operationId: get_radio_track_2
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Track'
description: ''
/api/v2/radios/radios/filters/:
get:
operationId: get_radio_filter_2
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Filter'
description: ''
/api/v2/radios/radios/validate/:
post:
operationId: validate_radio_2
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Radio'
description: ''
/api/v2/radios/sessions/:
post:
operationId: create_radio_session_2
description: Returns a list of RadioSessions
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioSessionRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSession'
description: ''
/api/v2/radios/sessions/{id}/:
get:
operationId: get_radio_session_2
description: Returns a list of RadioSessions
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio session.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSession'
description: ''
/api/v2/radios/sessions/{id}/tracks/:
get:
operationId: get_radio_session_track
description: Returns a list of RadioSessions
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this radio session.
required: true
tags:
- radios
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreate'
description: ''
/api/v2/radios/tracks/:
post:
operationId: get_next_radio_track_2
tags:
- radios
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreateRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RadioSessionTrackSerializerCreate'
description: ''
/api/v2/rate-limit/:
get:
operationId: get_rate_limit_2
tags:
- rate-limit
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimit'
description: ''
/api/v2/search:
get:
operationId: get_search_results_2
tags:
- search
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
description: ''
/api/v2/stream/{uuid}/:
get:
operationId: get_track_stream_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- stream
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
audio/mpeg:
schema:
type: string
format: binary
description: ''
/api/v2/subscriptions/:
get:
operationId: get_subscriptions_2
parameters:
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSubscriptionList'
description: ''
/api/v2/subscriptions/{uuid}/:
get:
operationId: get_subscription_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Subscription'
description: ''
/api/v2/subscriptions/all/:
get:
operationId: get_all_subscriptions_2
description: |-
Return all the subscriptions of the current user, with only limited data
to have a performant endpoint and avoid lots of queries just to display
subscription status in the UI
tags:
- subscriptions
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AllSubscriptions'
description: ''
/api/v2/tags/:
get:
operationId: get_tags_2
parameters:
- in: query
name: name
schema:
type: string
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -creation_date
- -length
- -name
- creation_date
- length
- name
description: |-
Ordering
* `name` - Name
* `-name` - Name (descending)
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `length` - Length
* `-length` - Length (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: q
schema:
type: string
tags:
- tags
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTagList'
description: ''
/api/v2/tags/{name}/:
get:
operationId: get_tag_2
parameters:
- in: path
name: name
schema:
type: string
required: true
tags:
- tags
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Tag'
description: ''
/api/v2/text-preview/:
post:
operationId: preview_text_2
tags:
- text-preview
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TextPreviewRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TextPreview'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorDetail'
description: ''
/api/v2/tracks/:
get:
operationId: get_tracks_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: query
name: id
schema:
type: array
items:
type: integer
explode: true
style: form
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedTrackList'
description: ''
/api/v2/tracks/{id}/:
get:
operationId: get_track_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Track'
description: ''
delete:
operationId: delete_track_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/tracks/{id}/fetches/:
get:
operationId: get_track_fetches_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedFetchList'
description: ''
post:
operationId: create_track_fetch_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Fetch'
description: ''
/api/v2/tracks/{id}/libraries/:
get:
operationId: get_track_libraries_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLibraryList'
description: ''
/api/v2/tracks/{id}/mutations/:
get:
operationId: get_track_mutations_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: query
name: album
schema:
type: integer
- in: query
name: artist
schema:
type: string
- in: query
name: channel
schema:
type: string
- in: query
name: format
schema:
type: string
- in: query
name: has_mbid
schema:
type: boolean
- in: query
name: hidden
schema:
type: boolean
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
- in: query
name: license
schema:
type: string
- in: query
name: mbid
schema:
type: string
format: uuid
- in: query
name: ordering
schema:
type: array
items:
type: string
enum:
- -album__release_date
- -album__title
- -artist_credit__artist__modification_date
- -artist_credit__artist__name
- -creation_date
- -disc_number
- -position
- -random
- -related
- -size
- -title
- album__release_date
- album__title
- artist_credit__artist__modification_date
- artist_credit__artist__name
- creation_date
- disc_number
- position
- random
- related
- size
- title
description: |-
Ordering
* `creation_date` - Creation date
* `-creation_date` - Creation date (descending)
* `title` - Title
* `-title` - Title (descending)
* `album__title` - Album title
* `-album__title` - Album title (descending)
* `album__release_date` - Album release date
* `-album__release_date` - Album release date (descending)
* `size` - Size
* `-size` - Size (descending)
* `position` - Position
* `-position` - Position (descending)
* `disc_number` - Disc number
* `-disc_number` - Disc number (descending)
* `artist_credit__artist__name` - Artist credit artist name
* `-artist_credit__artist__name` - Artist credit artist name (descending)
* `artist_credit__artist__modification_date` - Artist credit artist modification date
* `-artist_credit__artist__modification_date` - Artist credit artist modification date (descending)
* `random` - Random
* `-random` - Random (descending)
* `related` - Related
* `-related` - Related (descending)
explode: false
style: form
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: quality
schema:
type: integer
enum:
- 0
- 1
- 2
- 3
description: |-
* `0` - low
* `1` - medium
* `2` - high
* `3` - very_high
- in: query
name: related
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: tag
schema:
type: array
items:
type: string
explode: true
style: form
- in: query
name: title
schema:
type: string
- in: query
name: title__icontains
schema:
type: string
- in: query
name: title__iexact
schema:
type: string
- in: query
name: title__startswith
schema:
type: string
tags:
- tracks
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAPIMutationList'
description: ''
post:
operationId: create_track_mutation_2
description: A simple ViewSet for viewing and editing accounts.
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this track.
required: true
tags:
- tracks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TrackRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TrackRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TrackRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/TrackRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/APIMutation'
description: ''
/api/v2/uploads/:
get:
operationId: get_uploads_2
parameters:
- in: query
name: album_artist
schema:
type: string
format: uuid
- in: query
name: channel
schema:
type: string
- in: query
name: import_reference
schema:
type: string
- in: query
name: import_status
schema:
type: array
items:
type: string
enum:
- draft
- errored
- finished
- pending
- skipped
description: |-
* `draft` - Draft
* `pending` - Pending
* `finished` - Finished
* `errored` - Errored
* `skipped` - Skipped
explode: true
style: form
- in: query
name: include_channels
schema:
type: boolean
- in: query
name: library
schema:
type: string
format: uuid
- in: query
name: mimetype
schema:
type: string
- name: ordering
required: false
in: query
description: Which field to use when ordering the results.
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: playable
schema:
type: boolean
- in: query
name: q
schema:
type: string
- in: query
name: scope
schema:
type: string
- in: query
name: track
schema:
type: string
format: uuid
- in: query
name: track_artist
schema:
type: string
format: uuid
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUploadForOwnerList'
description: ''
post:
operationId: create_upload_2
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v2/uploads/{uuid}/:
get:
operationId: get_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
put:
operationId: update_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
patch:
operationId: partial_update_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
delete:
operationId: delete_upload_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/uploads/{uuid}/audio-file-metadata/:
get:
operationId: get_upload_metadata_2
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
required: true
tags:
- uploads
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TrackMetadata'
description: ''
/api/v2/uploads/action/:
post:
operationId: create_upload_action_2
description: |-
str(object='') -> str
str(bytes_or_buffer[, encoding[, errors]]) -> str
Create a new string object from the given object. If encoding or
errors is specified, then the object must expose a data buffer
that will be decoded using the given encoding and error handler.
Otherwise, returns the result of object.__str__() (if defined)
or repr(object).
encoding defaults to 'utf-8'.
errors defaults to 'strict'.
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UploadForOwnerRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v2/uploads/bulk_update/:
patch:
operationId: partial_update_upload_bulk_update_2
description: Used to move an upload from one library to another. Receive a upload
uuid and a privacy_level
tags:
- uploads
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UploadForOwner'
description: ''
/api/v2/users/{username}/:
put:
operationId: update_user_3
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
patch:
operationId: partial_update_user_3
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
/api/v2/users/{username}/subsonic-token/:
get:
operationId: get_user_subsonic_token_3
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
post:
operationId: create_user_subsonic_token_3
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_user_subsonic_token_3
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/users/change-email/:
post:
operationId: change_email_2
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
'403':
description: No response body
/api/v2/users/me/:
get:
operationId: get_authenticated_user_2
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_authenticated_user_2
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/users/settings/:
post:
operationId: update_settings_2
description: Return information about the current user or delete it
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
/api/v2/users/users/{username}/:
put:
operationId: update_user_2
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
patch:
operationId: partial_update_user_2
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/PatchedUserWriteRequest'
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
/api/v2/users/users/{username}/subsonic-token/:
get:
operationId: get_user_subsonic_token_2
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
post:
operationId: create_user_subsonic_token_2
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_user_subsonic_token_2
parameters:
- in: path
name: username
schema:
type: string
pattern: ^[a-zA-Z0-9-_.]+$
required: true
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/users/users/change-email/:
post:
operationId: change_email_3
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
description: No response body
'403':
description: No response body
/api/v2/users/users/me/:
get:
operationId: get_authenticated_user_3
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
delete:
operationId: delete_authenticated_user_3
description: Return information about the current user or delete it
tags:
- users
security:
- oauth2: []
- ApplicationToken: []
responses:
'204':
description: No response body
/api/v2/users/users/settings/:
post:
operationId: update_settings_3
description: Return information about the current user or delete it
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UserWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/UserWriteRequest'
application/activity+json:
schema:
$ref: '#/components/schemas/UserWriteRequest'
required: true
security:
- oauth2: []
- ApplicationToken: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/UserWrite'
description: ''
components:
schemas:
APIActor:
type: object
properties:
fid:
type: string
format: uri
maxLength: 500
url:
type: string
format: uri
nullable: true
maxLength: 500
creation_date:
type: string
format: date-time
summary:
type: string
nullable: true
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
name:
type: string
nullable: true
maxLength: 200
last_fetch_date:
type: string
format: date-time
domain:
type: string
type:
$ref: '#/components/schemas/FederationChoiceEnum'
manually_approves_followers:
type: boolean
nullable: true
full_username:
type: string
readOnly: true
is_local:
type: boolean
readOnly: true
required:
- domain
- fid
- full_username
- is_local
- preferred_username
APIActorRequest:
type: object
properties:
fid:
type: string
format: uri
minLength: 1
maxLength: 500
url:
type: string
format: uri
nullable: true
maxLength: 500
creation_date:
type: string
format: date-time
summary:
type: string
nullable: true
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
name:
type: string
nullable: true
maxLength: 200
last_fetch_date:
type: string
format: date-time
domain:
type: string
minLength: 1
type:
$ref: '#/components/schemas/FederationChoiceEnum'
manually_approves_followers:
type: boolean
nullable: true
required:
- domain
- fid
- preferred_username
APIMutation:
type: object
properties:
fid:
type: string
format: uri
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
type:
type: string
maxLength: 100
creation_date:
type: string
format: date-time
readOnly: true
applied_date:
type: string
format: date-time
nullable: true
is_approved:
type: boolean
nullable: true
is_applied:
type: boolean
readOnly: true
nullable: true
created_by:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
approved_by:
type: integer
readOnly: true
nullable: true
summary:
type: string
nullable: true
maxLength: 2000
payload: {}
previous_state:
readOnly: true
nullable: true
target:
type: object
additionalProperties: {}
readOnly: true
required:
- approved_by
- created_by
- creation_date
- fid
- is_applied
- payload
- previous_state
- target
- type
- uuid
APIMutationRequest:
type: object
properties:
type:
type: string
minLength: 1
maxLength: 100
applied_date:
type: string
format: date-time
nullable: true
is_approved:
type: boolean
nullable: true
summary:
type: string
nullable: true
maxLength: 2000
payload: {}
required:
- payload
- type
Activity:
type: object
properties:
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
actor:
$ref: '#/components/schemas/APIActor'
payload: {}
object:
type: object
additionalProperties: {}
readOnly: true
nullable: true
target:
type: object
additionalProperties: {}
readOnly: true
nullable: true
related_object:
type: object
additionalProperties: {}
readOnly: true
creation_date:
type: string
format: date-time
type:
type: string
nullable: true
maxLength: 100
required:
- actor
- object
- related_object
- target
ActivityRequest:
type: object
properties:
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
actor:
$ref: '#/components/schemas/APIActorRequest'
payload: {}
creation_date:
type: string
format: date-time
type:
type: string
nullable: true
minLength: 1
maxLength: 100
required:
- actor
Album:
type: object
properties:
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCredit'
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
is_playable:
type: boolean
readOnly: true
tags:
type: array
items:
type: string
readOnly: true
tracks_count:
type: integer
readOnly: true
attributed_to:
$ref: '#/components/schemas/APIActor'
id:
type: integer
fid:
type: string
format: uri
mbid:
type: string
format: uuid
title:
type: string
release_date:
type: string
format: date
creation_date:
type: string
format: date-time
is_local:
type: boolean
duration:
type: integer
readOnly: true
tracks:
type: array
items:
$ref: '#/components/schemas/Track'
nullable: true
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
required:
- artist_credit
- attributed_to
- cover
- creation_date
- duration
- fid
- id
- is_local
- is_playable
- mbid
- release_date
- tags
- title
- tracks
- tracks_count
AlbumCreate:
type: object
properties:
title:
type: string
maxLength: 255
release_date:
type: string
format: date
nullable: true
tags:
type: array
items:
type: string
minItems: 0
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
artist_credit:
type: array
items:
type: string
required:
- artist_credit
- title
AlbumCreateRequest:
type: object
properties:
cover:
type: string
writeOnly: true
nullable: true
title:
type: string
minLength: 1
maxLength: 255
release_date:
type: string
format: date
nullable: true
tags:
type: array
items:
type: string
minLength: 1
minItems: 0
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
artist_credit:
type: array
items:
type: string
required:
- artist_credit
- title
AlbumRequest:
type: object
properties:
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCreditRequest'
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
attributed_to:
$ref: '#/components/schemas/APIActorRequest'
id:
type: integer
fid:
type: string
format: uri
minLength: 1
mbid:
type: string
format: uuid
title:
type: string
minLength: 1
release_date:
type: string
format: date
creation_date:
type: string
format: date-time
is_local:
type: boolean
tracks:
type: array
items:
$ref: '#/components/schemas/TrackRequest'
nullable: true
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
required:
- artist_credit
- attributed_to
- cover
- creation_date
- fid
- id
- is_local
- mbid
- release_date
- title
- tracks
AllFavorite:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SimpleFavorite'
count:
type: integer
readOnly: true
required:
- count
- results
AllSubscriptions:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/InlineSubscription'
count:
type: integer
readOnly: true
required:
- count
- results
AllowListStat:
type: object
properties:
enabled:
type: boolean
domains:
type: array
items:
type: string
required:
- domains
- enabled
Application:
type: object
properties:
client_id:
type: string
maxLength: 100
name:
type: string
maxLength: 255
scopes:
type: string
created:
type: string
format: date-time
readOnly: true
updated:
type: string
format: date-time
readOnly: true
required:
- created
- scopes
- updated
ApplicationRequest:
type: object
properties:
client_id:
type: string
minLength: 1
maxLength: 100
name:
type: string
maxLength: 255
scopes:
type: string
minLength: 1
required:
- scopes
Artist:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
is_local:
type: boolean
readOnly: true
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
channel:
type: string
format: uuid
nullable: true
attributed_to:
type: integer
nullable: true
tags:
type: array
items:
type: string
readOnly: true
required:
- id
- is_local
- name
- tags
ArtistCredit:
type: object
properties:
artist:
$ref: '#/components/schemas/Artist'
credit:
type: string
nullable: true
maxLength: 500
joinphrase:
type: string
nullable: true
maxLength: 250
index:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
required:
- artist
ArtistCreditRequest:
type: object
properties:
artist:
$ref: '#/components/schemas/ArtistRequest'
credit:
type: string
nullable: true
maxLength: 500
joinphrase:
type: string
nullable: true
maxLength: 250
index:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
required:
- artist
ArtistRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
minLength: 1
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
channel:
type: string
format: uuid
nullable: true
attributed_to:
type: integer
nullable: true
required:
- name
ArtistWithAlbums:
type: object
properties:
albums:
type: string
readOnly: true
tags:
type: array
items:
type: string
readOnly: true
attributed_to:
allOf:
- $ref: '#/components/schemas/APIActor'
nullable: true
channel:
allOf:
- $ref: '#/components/schemas/ArtistWithAlbumsInlineChannel'
nullable: true
tracks_count:
type: integer
readOnly: true
id:
type: integer
fid:
type: string
format: uri
mbid:
type: string
format: uuid
name:
type: string
content_category:
type: string
creation_date:
type: string
format: date-time
is_local:
type: boolean
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
required:
- albums
- attributed_to
- channel
- content_category
- cover
- creation_date
- fid
- id
- is_local
- mbid
- name
- tags
- tracks_count
ArtistWithAlbumsInlineChannel:
type: object
properties:
uuid:
type: string
actor:
$ref: '#/components/schemas/InlineActor'
required:
- actor
- uuid
ArtistWithAlbumsInlineChannelRequest:
type: object
properties:
uuid:
type: string
minLength: 1
actor:
$ref: '#/components/schemas/InlineActorRequest'
required:
- actor
- uuid
ArtistWithAlbumsRequest:
type: object
properties:
attributed_to:
allOf:
- $ref: '#/components/schemas/APIActorRequest'
nullable: true
channel:
allOf:
- $ref: '#/components/schemas/ArtistWithAlbumsInlineChannelRequest'
nullable: true
id:
type: integer
fid:
type: string
format: uri
minLength: 1
mbid:
type: string
format: uuid
name:
type: string
minLength: 1
content_category:
type: string
minLength: 1
creation_date:
type: string
format: date-time
is_local:
type: boolean
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
required:
- attributed_to
- channel
- content_category
- cover
- creation_date
- fid
- id
- is_local
- mbid
- name
Attachment:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
size:
type: integer
readOnly: true
mimetype:
type: string
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
urls:
type: object
properties:
original:
type: string
small_square_crop:
type: string
medium_square_crop:
type: string
large_square_crop:
type: string
readOnly: true
required:
- creation_date
- mimetype
- size
- urls
- uuid
AttachmentRequest:
type: object
properties:
file:
type: string
format: binary
writeOnly: true
required:
- file
Channel:
type: object
properties:
uuid:
type: string
format: uuid
artist:
$ref: '#/components/schemas/SimpleChannelArtist'
attributed_to:
$ref: '#/components/schemas/APIActor'
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
creation_date:
type: string
format: date-time
metadata: {}
rss_url:
type: string
url:
type: string
format: uri
readOnly: true
downloads_count:
type: integer
readOnly: true
required:
- actor
- artist
- attributed_to
- downloads_count
- rss_url
- url
ChannelCreate:
type: object
properties:
name:
type: string
maxLength: 200
username:
type: string
pattern: ^[\w]+$
maxLength: 200
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
tags:
type: array
items:
type: string
minItems: 0
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
metadata:
type: object
additionalProperties: {}
required:
- content_category
- description
- name
- tags
- username
ChannelCreateRequest:
type: object
properties:
cover:
type: string
writeOnly: true
nullable: true
name:
type: string
minLength: 1
maxLength: 200
username:
type: string
minLength: 1
pattern: ^[\w]+$
maxLength: 200
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
tags:
type: array
items:
type: string
minLength: 1
minItems: 0
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
metadata:
type: object
additionalProperties: {}
required:
- content_category
- description
- name
- tags
- username
ChannelRequest:
type: object
properties:
uuid:
type: string
format: uuid
artist:
$ref: '#/components/schemas/SimpleChannelArtistRequest'
attributed_to:
$ref: '#/components/schemas/APIActorRequest'
creation_date:
type: string
format: date-time
metadata: {}
rss_url:
type: string
minLength: 1
required:
- artist
- attributed_to
- rss_url
ChannelUpdate:
type: object
properties:
name:
type: string
maxLength: 200
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
tags:
type: array
items:
type: string
minItems: 0
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
metadata:
type: object
additionalProperties: {}
required:
- content_category
- description
- name
- tags
ChannelUpdateRequest:
type: object
properties:
cover:
type: string
writeOnly: true
nullable: true
name:
type: string
minLength: 1
maxLength: 200
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
tags:
type: array
items:
type: string
minLength: 1
minItems: 0
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
metadata:
type: object
additionalProperties: {}
required:
- content_category
- description
- name
- tags
Content:
type: object
properties:
text:
type: string
nullable: true
maxLength: 5000
content_type:
$ref: '#/components/schemas/ContentTypeEnum'
html:
type: string
readOnly: true
required:
- content_type
- html
- text
ContentCategoryEnum:
enum:
- music
- podcast
- other
type: string
description: |-
* `music` - music
* `podcast` - podcast
* `other` - other
ContentRequest:
type: object
properties:
text:
type: string
nullable: true
minLength: 1
maxLength: 5000
content_type:
$ref: '#/components/schemas/ContentTypeEnum'
required:
- content_type
- text
ContentTypeEnum:
enum:
- text/html
- text/markdown
- text/plain
type: string
description: |-
* `text/html` - text/html
* `text/markdown` - text/markdown
* `text/plain` - text/plain
CoverField:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
size:
type: integer
readOnly: true
mimetype:
type: string
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
urls:
type: object
properties:
original:
type: string
small_square_crop:
type: string
medium_square_crop:
type: string
large_square_crop:
type: string
readOnly: true
required:
- creation_date
- mimetype
- size
- urls
- uuid
CoverFieldRequest:
type: object
properties:
file:
type: string
format: binary
writeOnly: true
required:
- file
CreateApplication:
type: object
properties:
client_id:
type: string
readOnly: true
name:
type: string
maxLength: 255
scopes:
type: string
default: read
client_secret:
type: string
description: Hashed on Save. Copy it now if this is a new secret.
maxLength: 255
created:
type: string
format: date-time
readOnly: true
updated:
type: string
format: date-time
readOnly: true
redirect_uris:
type: string
description: Allowed URIs list, space separated
required:
- client_id
- created
- name
- updated
CreateApplicationRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 255
scopes:
type: string
minLength: 1
default: read
client_secret:
type: string
description: Hashed on Save. Copy it now if this is a new secret.
maxLength: 255
redirect_uris:
type: string
description: Allowed URIs list, space separated
required:
- name
Domain:
type: object
properties:
name:
type: string
required:
- name
Endpoints:
type: object
properties:
knownNodes:
type: string
format: uri
channels:
type: string
format: uri
libraries:
type: string
format: uri
ErrorDetail:
type: object
properties:
detail:
type: string
required:
- detail
FederationChoiceEnum:
enum:
- Person
- Tombstone
- Application
- Group
- Organization
- Service
type: string
description: |-
* `Person` - Person
* `Tombstone` - Tombstone
* `Application` - Application
* `Group` - Group
* `Organization` - Organization
* `Service` - Service
Fetch:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
status:
allOf:
- $ref: '#/components/schemas/FetchStatusEnum'
readOnly: true
detail:
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
fetch_date:
type: string
format: date-time
readOnly: true
nullable: true
required:
- actor
- creation_date
- detail
- fetch_date
- id
- status
- url
FetchRequest:
type: object
properties:
object:
type: string
writeOnly: true
minLength: 1
force:
type: boolean
writeOnly: true
default: false
required:
- object
FetchStatusEnum:
enum:
- pending
- errored
- finished
- skipped
type: string
description: |-
* `pending` - Pending
* `errored` - Errored
* `finished` - Finished
* `skipped` - Skipped
Filter:
type: object
properties:
type:
type: string
label:
type: string
help_text:
type: string
fields:
type: string
readOnly: true
required:
- fields
- help_text
- label
- type
Follow:
type: object
properties:
creation_date:
type: string
format: date-time
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
target:
type: string
approved:
type: boolean
readOnly: true
nullable: true
required:
- actor
- approved
- creation_date
- target
- uuid
FollowRequest:
type: object
properties:
target:
type: string
required:
- target
FormatEnum:
enum:
- json
type: string
description: '* `json` - json'
FullActor:
type: object
properties:
fid:
type: string
format: uri
url:
type: string
format: uri
domain:
type: string
creation_date:
type: string
format: date-time
last_fetch_date:
type: string
format: date-time
name:
type: string
preferred_username:
type: string
full_username:
type: string
type:
type: string
is_local:
type: boolean
is_channel:
type: boolean
readOnly: true
manually_approves_followers:
type: boolean
user:
$ref: '#/components/schemas/UserBasic'
summary:
$ref: '#/components/schemas/Content'
icon:
$ref: '#/components/schemas/Attachment'
required:
- creation_date
- domain
- fid
- full_username
- icon
- is_channel
- is_local
- last_fetch_date
- manually_approves_followers
- name
- preferred_username
- summary
- type
- url
- user
GlobalPreference:
type: object
properties:
section:
type: string
readOnly: true
name:
type: string
readOnly: true
identifier:
type: string
readOnly: true
default:
type: string
readOnly: true
value:
type: string
verbose_name:
type: string
readOnly: true
help_text:
type: string
readOnly: true
additional_data:
type: string
readOnly: true
field:
type: string
readOnly: true
required:
- additional_data
- default
- field
- help_text
- identifier
- name
- section
- value
- verbose_name
GlobalPreferenceRequest:
type: object
properties:
value:
type: string
required:
- value
Ident:
type: object
properties:
type:
type: string
id:
type: string
required:
- id
- type
ImportStatusEnum:
enum:
- draft
- pending
- finished
- errored
- skipped
type: string
description: |-
* `draft` - Draft
* `pending` - Pending
* `finished` - Finished
* `errored` - Errored
* `skipped` - Skipped
InboxItem:
type: object
properties:
id:
type: integer
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/InboxItemTypeEnum'
readOnly: true
activity:
$ref: '#/components/schemas/Activity'
is_read:
type: boolean
required:
- activity
- id
- type
InboxItemRequest:
type: object
properties:
activity:
$ref: '#/components/schemas/ActivityRequest'
is_read:
type: boolean
required:
- activity
InboxItemTypeEnum:
enum:
- to
- cc
type: string
description: |-
* `to` - to
* `cc` - cc
InlineActor:
type: object
properties:
full_username:
type: string
preferred_username:
type: string
domain:
type: string
required:
- domain
- full_username
- preferred_username
InlineActorRequest:
type: object
properties:
full_username:
type: string
minLength: 1
preferred_username:
type: string
minLength: 1
domain:
type: string
minLength: 1
required:
- domain
- full_username
- preferred_username
InlineSubscription:
type: object
properties:
uuid:
type: string
format: uuid
channel:
type: string
format: uuid
required:
- channel
- uuid
Library:
type: object
properties:
fid:
type: string
format: uri
maxLength: 500
uuid:
type: string
format: uuid
actor:
$ref: '#/components/schemas/APIActor'
name:
type: string
maxLength: 100
creation_date:
type: string
format: date-time
uploads_count:
type: integer
readOnly: true
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
follow:
allOf:
- $ref: '#/components/schemas/NestedLibraryFollow'
nullable: true
latest_scan:
allOf:
- $ref: '#/components/schemas/LibraryScan'
nullable: true
required:
- actor
- fid
- name
- uploads_count
LibraryFollow:
type: object
properties:
creation_date:
type: string
format: date-time
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
target:
type: string
approved:
type: boolean
readOnly: true
nullable: true
required:
- actor
- approved
- creation_date
- target
- uuid
LibraryFollowRequest:
type: object
properties:
target:
type: string
required:
- target
LibraryForOwner:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
fid:
type: string
format: uri
readOnly: true
name:
type: string
maxLength: 100
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
uploads_count:
type: integer
readOnly: true
size:
type: integer
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
required:
- actor
- creation_date
- fid
- name
- size
- uploads_count
- uuid
LibraryForOwnerRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
required:
- name
LibraryPrivacyLevelEnum:
enum:
- me
- instance
- everyone
type: string
description: |-
* `me` - Only me
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
LibraryRequest:
type: object
properties:
fid:
type: string
format: uri
minLength: 1
maxLength: 500
uuid:
type: string
format: uuid
actor:
$ref: '#/components/schemas/APIActorRequest'
name:
type: string
minLength: 1
maxLength: 100
creation_date:
type: string
format: date-time
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
follow:
allOf:
- $ref: '#/components/schemas/NestedLibraryFollowRequest'
nullable: true
latest_scan:
allOf:
- $ref: '#/components/schemas/LibraryScanRequest'
nullable: true
required:
- actor
- fid
- name
LibraryScan:
type: object
properties:
total_files:
type: integer
maximum: 2147483647
minimum: 0
processed_files:
type: integer
maximum: 2147483647
minimum: 0
errored_files:
type: integer
maximum: 2147483647
minimum: 0
status:
type: string
maxLength: 25
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
nullable: true
LibraryScanRequest:
type: object
properties:
total_files:
type: integer
maximum: 2147483647
minimum: 0
processed_files:
type: integer
maximum: 2147483647
minimum: 0
errored_files:
type: integer
maximum: 2147483647
minimum: 0
status:
type: string
minLength: 1
maxLength: 25
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
nullable: true
License:
type: object
properties:
id:
type: string
readOnly: true
url:
type: string
format: uri
code:
type: string
name:
type: string
redistribute:
type: boolean
derivative:
type: boolean
commercial:
type: boolean
attribution:
type: boolean
copyleft:
type: boolean
required:
- attribution
- code
- commercial
- copyleft
- derivative
- id
- name
- redistribute
- url
Listening:
type: object
properties:
id:
type: integer
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
track:
allOf:
- $ref: '#/components/schemas/Track'
readOnly: true
creation_date:
type: string
format: date-time
nullable: true
required:
- actor
- id
- track
ListeningWrite:
type: object
properties:
id:
type: integer
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
track:
type: integer
creation_date:
type: string
format: date-time
nullable: true
required:
- actor
- id
- track
ListeningWriteRequest:
type: object
properties:
track:
type: integer
creation_date:
type: string
format: date-time
nullable: true
required:
- track
ManageActor:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
nullable: true
maxLength: 500
fid:
type: string
format: uri
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
full_username:
type: string
readOnly: true
domain:
type: string
name:
type: string
nullable: true
maxLength: 200
summary:
type: string
nullable: true
maxLength: 500
type:
$ref: '#/components/schemas/FederationChoiceEnum'
creation_date:
type: string
format: date-time
readOnly: true
last_fetch_date:
type: string
format: date-time
inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
outbox_url:
type: string
format: uri
nullable: true
maxLength: 500
shared_inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
manually_approves_followers:
type: boolean
nullable: true
is_local:
type: boolean
readOnly: true
uploads_count:
type: integer
readOnly: true
user:
allOf:
- $ref: '#/components/schemas/ManageUser'
nullable: true
instance_policy:
type: integer
readOnly: true
required:
- creation_date
- domain
- fid
- full_username
- id
- instance_policy
- is_local
- preferred_username
- uploads_count
- user
ManageActorRequest:
type: object
properties:
url:
type: string
format: uri
nullable: true
maxLength: 500
fid:
type: string
format: uri
minLength: 1
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
domain:
type: string
minLength: 1
name:
type: string
nullable: true
maxLength: 200
summary:
type: string
nullable: true
maxLength: 500
type:
$ref: '#/components/schemas/FederationChoiceEnum'
last_fetch_date:
type: string
format: date-time
inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
outbox_url:
type: string
format: uri
nullable: true
maxLength: 500
shared_inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
manually_approves_followers:
type: boolean
nullable: true
user:
allOf:
- $ref: '#/components/schemas/ManageUserRequest'
nullable: true
required:
- domain
- fid
- preferred_username
- user
ManageAlbum:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
creation_date:
type: string
format: date-time
release_date:
type: string
format: date
nullable: true
cover:
$ref: '#/components/schemas/CoverField'
domain:
type: string
is_local:
type: boolean
readOnly: true
tracks_count:
type: integer
readOnly: true
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCredit'
attributed_to:
$ref: '#/components/schemas/ManageBaseActor'
tags:
type: array
items:
type: string
readOnly: true
required:
- artist_credit
- attributed_to
- cover
- domain
- id
- is_local
- tags
- title
- tracks_count
ManageAlbumRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
minLength: 1
creation_date:
type: string
format: date-time
release_date:
type: string
format: date
nullable: true
cover:
$ref: '#/components/schemas/CoverFieldRequest'
domain:
type: string
minLength: 1
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCreditRequest'
attributed_to:
$ref: '#/components/schemas/ManageBaseActorRequest'
required:
- artist_credit
- attributed_to
- cover
- domain
- title
ManageArtist:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
creation_date:
type: string
format: date-time
domain:
type: string
is_local:
type: boolean
readOnly: true
tracks_count:
type: integer
readOnly: true
albums_count:
type: integer
readOnly: true
attributed_to:
$ref: '#/components/schemas/ManageBaseActor'
tags:
type: array
items:
type: string
readOnly: true
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
channel:
type: string
readOnly: true
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
required:
- albums_count
- attributed_to
- channel
- cover
- domain
- id
- is_local
- name
- tags
- tracks_count
ManageArtistRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
minLength: 1
creation_date:
type: string
format: date-time
domain:
type: string
minLength: 1
attributed_to:
$ref: '#/components/schemas/ManageBaseActorRequest'
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
required:
- attributed_to
- cover
- domain
- name
ManageBaseActor:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
nullable: true
maxLength: 500
fid:
type: string
format: uri
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
full_username:
type: string
readOnly: true
domain:
type: string
name:
type: string
nullable: true
maxLength: 200
summary:
type: string
nullable: true
maxLength: 500
type:
$ref: '#/components/schemas/FederationChoiceEnum'
creation_date:
type: string
format: date-time
readOnly: true
last_fetch_date:
type: string
format: date-time
inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
outbox_url:
type: string
format: uri
nullable: true
maxLength: 500
shared_inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
manually_approves_followers:
type: boolean
nullable: true
is_local:
type: boolean
readOnly: true
required:
- creation_date
- domain
- fid
- full_username
- id
- is_local
- preferred_username
ManageBaseActorRequest:
type: object
properties:
url:
type: string
format: uri
nullable: true
maxLength: 500
fid:
type: string
format: uri
minLength: 1
maxLength: 500
preferred_username:
type: string
nullable: true
maxLength: 200
domain:
type: string
minLength: 1
name:
type: string
nullable: true
maxLength: 200
summary:
type: string
nullable: true
maxLength: 500
type:
$ref: '#/components/schemas/FederationChoiceEnum'
last_fetch_date:
type: string
format: date-time
inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
outbox_url:
type: string
format: uri
nullable: true
maxLength: 500
shared_inbox_url:
type: string
format: uri
nullable: true
maxLength: 500
manually_approves_followers:
type: boolean
nullable: true
required:
- domain
- fid
- preferred_username
ManageBaseNote:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
summary:
type: string
maxLength: 50000
author:
allOf:
- $ref: '#/components/schemas/ManageBaseActor'
readOnly: true
required:
- author
- creation_date
- id
- summary
- uuid
ManageBaseNoteRequest:
type: object
properties:
summary:
type: string
minLength: 1
maxLength: 50000
required:
- summary
ManageChannel:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
artist:
$ref: '#/components/schemas/ManageArtist'
attributed_to:
$ref: '#/components/schemas/ManageBaseActor'
actor:
$ref: '#/components/schemas/ManageBaseActor'
rss_url:
type: string
format: uri
readOnly: true
nullable: true
metadata:
readOnly: true
required:
- actor
- artist
- attributed_to
- creation_date
- id
- metadata
- rss_url
- uuid
ManageDomain:
type: object
properties:
name:
type: string
format: uri
maxLength: 255
creation_date:
type: string
format: date-time
readOnly: true
actors_count:
type: integer
readOnly: true
outbox_activities_count:
type: integer
readOnly: true
nodeinfo:
readOnly: true
nodeinfo_fetch_date:
type: string
format: date-time
readOnly: true
nullable: true
instance_policy:
type: integer
readOnly: true
allowed:
type: boolean
nullable: true
required:
- actors_count
- creation_date
- instance_policy
- name
- nodeinfo
- nodeinfo_fetch_date
- outbox_activities_count
ManageDomainRequest:
type: object
properties:
name:
type: string
minLength: 1
format: uri
maxLength: 255
allowed:
type: boolean
nullable: true
required:
- name
ManageDomainUpdate:
type: object
properties:
name:
type: string
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
actors_count:
type: integer
readOnly: true
outbox_activities_count:
type: integer
readOnly: true
nodeinfo:
readOnly: true
nodeinfo_fetch_date:
type: string
format: date-time
readOnly: true
nullable: true
instance_policy:
type: integer
readOnly: true
allowed:
type: boolean
nullable: true
required:
- actors_count
- creation_date
- instance_policy
- name
- nodeinfo
- nodeinfo_fetch_date
- outbox_activities_count
ManageDomainUpdateRequest:
type: object
properties:
allowed:
type: boolean
nullable: true
ManageInstancePolicy:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
target:
$ref: '#/components/schemas/ManageTarget'
creation_date:
type: string
format: date-time
readOnly: true
actor:
type: string
format: email
readOnly: true
summary:
type: string
nullable: true
maxLength: 10000
is_active:
type: boolean
block_all:
type: boolean
silence_activity:
type: boolean
silence_notifications:
type: boolean
reject_media:
type: boolean
required:
- actor
- creation_date
- id
- target
- uuid
ManageInstancePolicyRequest:
type: object
properties:
target:
$ref: '#/components/schemas/ManageTargetRequest'
summary:
type: string
nullable: true
maxLength: 10000
is_active:
type: boolean
block_all:
type: boolean
silence_activity:
type: boolean
silence_notifications:
type: boolean
reject_media:
type: boolean
required:
- target
ManageInvitation:
type: object
properties:
id:
type: integer
readOnly: true
owner:
$ref: '#/components/schemas/ManageUserSimple'
invited_user:
$ref: '#/components/schemas/ManageUserSimple'
code:
type: string
nullable: true
expiration_date:
type: string
format: date-time
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
users:
type: array
items:
$ref: '#/components/schemas/ManageUserSimple'
required:
- creation_date
- expiration_date
- id
ManageInvitationRequest:
type: object
properties:
owner:
$ref: '#/components/schemas/ManageUserSimpleRequest'
invited_user:
$ref: '#/components/schemas/ManageUserSimpleRequest'
code:
type: string
nullable: true
minLength: 1
users:
type: array
items:
$ref: '#/components/schemas/ManageUserSimpleRequest'
ManageLibrary:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
fid:
type: string
format: uri
readOnly: true
url:
type: string
format: uri
readOnly: true
nullable: true
name:
type: string
maxLength: 100
domain:
type: string
is_local:
type: boolean
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
uploads_count:
type: integer
readOnly: true
actor:
$ref: '#/components/schemas/ManageBaseActor'
required:
- actor
- creation_date
- domain
- fid
- id
- is_local
- name
- uploads_count
- url
- uuid
ManageLibraryRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
domain:
type: string
minLength: 1
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
actor:
$ref: '#/components/schemas/ManageBaseActorRequest'
required:
- actor
- domain
- name
ManageNestedArtist:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
creation_date:
type: string
format: date-time
domain:
type: string
is_local:
type: boolean
readOnly: true
required:
- domain
- id
- is_local
- name
ManageNestedArtistCredit:
type: object
properties:
artist:
$ref: '#/components/schemas/ManageNestedArtist'
required:
- artist
ManageNestedArtistCreditRequest:
type: object
properties:
artist:
$ref: '#/components/schemas/ManageNestedArtistRequest'
required:
- artist
ManageNestedArtistRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
name:
type: string
minLength: 1
creation_date:
type: string
format: date-time
domain:
type: string
minLength: 1
required:
- domain
- name
ManageNestedLibrary:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
fid:
type: string
format: uri
maxLength: 500
url:
type: string
format: uri
nullable: true
maxLength: 500
name:
type: string
maxLength: 100
domain:
type: string
is_local:
type: boolean
readOnly: true
creation_date:
type: string
format: date-time
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
actor:
$ref: '#/components/schemas/ManageBaseActor'
required:
- actor
- domain
- fid
- id
- is_local
- name
ManageNestedLibraryRequest:
type: object
properties:
uuid:
type: string
format: uuid
fid:
type: string
format: uri
minLength: 1
maxLength: 500
url:
type: string
format: uri
nullable: true
maxLength: 500
name:
type: string
minLength: 1
maxLength: 100
domain:
type: string
minLength: 1
creation_date:
type: string
format: date-time
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
actor:
$ref: '#/components/schemas/ManageBaseActorRequest'
required:
- actor
- domain
- fid
- name
ManageNestedTrack:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
creation_date:
type: string
format: date-time
position:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
disc_number:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
domain:
type: string
is_local:
type: boolean
readOnly: true
copyright:
type: string
nullable: true
license:
type: string
nullable: true
required:
- domain
- id
- is_local
- title
ManageNestedTrackRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
minLength: 1
creation_date:
type: string
format: date-time
position:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
disc_number:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
domain:
type: string
minLength: 1
copyright:
type: string
nullable: true
license:
type: string
minLength: 1
nullable: true
required:
- domain
- title
ManageNote:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
summary:
type: string
maxLength: 50000
author:
allOf:
- $ref: '#/components/schemas/ManageBaseActor'
readOnly: true
target: {}
required:
- author
- creation_date
- id
- summary
- target
- uuid
ManageNoteRequest:
type: object
properties:
summary:
type: string
minLength: 1
maxLength: 50000
target: {}
required:
- summary
- target
ManageReport:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
fid:
type: string
format: uri
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
handled_date:
type: string
format: date-time
readOnly: true
nullable: true
summary:
type: string
readOnly: true
nullable: true
type:
$ref: '#/components/schemas/ReportTypeEnum'
target: {}
target_state:
readOnly: true
nullable: true
is_handled:
type: boolean
assigned_to:
allOf:
- $ref: '#/components/schemas/ManageBaseActor'
nullable: true
target_owner:
$ref: '#/components/schemas/ManageBaseActor'
submitter:
$ref: '#/components/schemas/ManageBaseActor'
submitter_email:
type: string
format: email
readOnly: true
nullable: true
notes:
type: array
items:
$ref: '#/components/schemas/ManageBaseNote'
nullable: true
default: []
required:
- creation_date
- fid
- handled_date
- id
- submitter_email
- summary
- target
- target_state
- type
- uuid
ManageReportRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ReportTypeEnum'
target: {}
is_handled:
type: boolean
assigned_to:
allOf:
- $ref: '#/components/schemas/ManageBaseActorRequest'
nullable: true
target_owner:
$ref: '#/components/schemas/ManageBaseActorRequest'
submitter:
$ref: '#/components/schemas/ManageBaseActorRequest'
notes:
type: array
items:
$ref: '#/components/schemas/ManageBaseNoteRequest'
nullable: true
default: []
required:
- target
- type
ManageTag:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 100
creation_date:
type: string
format: date-time
tracks_count:
type: integer
readOnly: true
albums_count:
type: integer
readOnly: true
artists_count:
type: integer
readOnly: true
required:
- albums_count
- artists_count
- id
- name
- tracks_count
ManageTagRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
creation_date:
type: string
format: date-time
required:
- name
ManageTarget:
type: object
properties:
type:
$ref: '#/components/schemas/ManageTargetTypeEnum'
id:
type: string
required:
- id
- type
ManageTargetRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ManageTargetTypeEnum'
id:
type: string
minLength: 1
required:
- id
- type
ManageTargetTypeEnum:
enum:
- domain
- actor
type: string
description: |-
* `domain` - domain
* `actor` - actor
ManageTrack:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
creation_date:
type: string
format: date-time
position:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
disc_number:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
domain:
type: string
is_local:
type: boolean
readOnly: true
copyright:
type: string
nullable: true
license:
type: string
nullable: true
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCredit'
album:
allOf:
- $ref: '#/components/schemas/ManageTrackAlbum'
nullable: true
attributed_to:
allOf:
- $ref: '#/components/schemas/ManageBaseActor'
nullable: true
uploads_count:
type: integer
readOnly: true
tags:
type: array
items:
type: string
readOnly: true
cover:
$ref: '#/components/schemas/CoverField'
required:
- album
- artist_credit
- attributed_to
- cover
- domain
- id
- is_local
- tags
- title
- uploads_count
ManageTrackAlbum:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
creation_date:
type: string
format: date-time
release_date:
type: string
format: date
nullable: true
cover:
$ref: '#/components/schemas/CoverField'
domain:
type: string
is_local:
type: boolean
readOnly: true
tracks_count:
type: integer
readOnly: true
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCredit'
required:
- artist_credit
- cover
- domain
- id
- is_local
- title
- tracks_count
ManageTrackAlbumRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
minLength: 1
creation_date:
type: string
format: date-time
release_date:
type: string
format: date
nullable: true
cover:
$ref: '#/components/schemas/CoverFieldRequest'
domain:
type: string
minLength: 1
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCreditRequest'
required:
- artist_credit
- cover
- domain
- title
ManageTrackRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
minLength: 1
creation_date:
type: string
format: date-time
position:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
disc_number:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
domain:
type: string
minLength: 1
copyright:
type: string
nullable: true
license:
type: string
minLength: 1
nullable: true
artist_credit:
type: array
items:
$ref: '#/components/schemas/ManageNestedArtistCreditRequest'
album:
allOf:
- $ref: '#/components/schemas/ManageTrackAlbumRequest'
nullable: true
attributed_to:
allOf:
- $ref: '#/components/schemas/ManageBaseActorRequest'
nullable: true
cover:
$ref: '#/components/schemas/CoverFieldRequest'
required:
- album
- artist_credit
- attributed_to
- cover
- domain
- title
ManageUpload:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
domain:
type: string
is_local:
type: boolean
readOnly: true
audio_file:
type: string
format: uri
listen_url:
type: string
readOnly: true
source:
type: string
nullable: true
maxLength: 500
filename:
type: string
readOnly: true
mimetype:
type: string
nullable: true
maxLength: 200
duration:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
bitrate:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
size:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
creation_date:
type: string
format: date-time
accessed_date:
type: string
format: date-time
nullable: true
modification_date:
type: string
format: date-time
nullable: true
metadata: {}
import_date:
type: string
format: date-time
nullable: true
import_details: {}
import_status:
$ref: '#/components/schemas/ImportStatusEnum'
import_metadata: {}
import_reference:
type: string
maxLength: 50
track:
$ref: '#/components/schemas/ManageNestedTrack'
library:
$ref: '#/components/schemas/ManageNestedLibrary'
required:
- audio_file
- domain
- filename
- id
- is_local
- library
- listen_url
- track
ManageUploadRequest:
type: object
properties:
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
domain:
type: string
minLength: 1
audio_file:
type: string
format: binary
source:
type: string
nullable: true
maxLength: 500
mimetype:
type: string
nullable: true
maxLength: 200
duration:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
bitrate:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
size:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
creation_date:
type: string
format: date-time
accessed_date:
type: string
format: date-time
nullable: true
modification_date:
type: string
format: date-time
nullable: true
metadata: {}
import_date:
type: string
format: date-time
nullable: true
import_details: {}
import_status:
$ref: '#/components/schemas/ImportStatusEnum'
import_metadata: {}
import_reference:
type: string
minLength: 1
maxLength: 50
track:
$ref: '#/components/schemas/ManageNestedTrackRequest'
library:
$ref: '#/components/schemas/ManageNestedLibraryRequest'
required:
- audio_file
- domain
- library
- track
ManageUser:
type: object
properties:
id:
type: integer
readOnly: true
username:
type: string
readOnly: true
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
actor:
type: object
additionalProperties: {}
readOnly: true
email:
type: string
format: email
readOnly: true
title: Email address
name:
type: string
title: Name of User
maxLength: 255
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
date_joined:
type: string
format: date-time
readOnly: true
last_activity:
type: string
format: date-time
readOnly: true
nullable: true
upload_quota:
type: integer
nullable: true
privacy_level:
allOf:
- $ref: '#/components/schemas/PrivacyLevelEnum'
readOnly: true
full_username:
type: string
readOnly: true
required:
- actor
- date_joined
- email
- full_username
- id
- last_activity
- privacy_level
- username
ManageUserRequest:
type: object
properties:
name:
type: string
title: Name of User
maxLength: 255
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
upload_quota:
type: integer
nullable: true
ManageUserRequestRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ManageUserRequestTypeEnum'
status:
$ref: '#/components/schemas/ManageUserRequestStatusEnum'
assigned_to:
$ref: '#/components/schemas/ManageBaseActorRequest'
submitter:
$ref: '#/components/schemas/ManageBaseActorRequest'
required:
- assigned_to
- submitter
- type
ManageUserRequestStatusEnum:
enum:
- pending
- refused
- approved
type: string
description: |-
* `pending` - Pending
* `refused` - Refused
* `approved` - Approved
ManageUserRequestTypeEnum:
enum:
- signup
type: string
description: '* `signup` - Sign-up'
ManageUserSimple:
type: object
properties:
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
name:
type: string
title: Name of User
maxLength: 255
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
date_joined:
type: string
format: date-time
last_activity:
type: string
format: date-time
nullable: true
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
upload_quota:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
required:
- id
- username
ManageUserSimpleRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
name:
type: string
title: Name of User
maxLength: 255
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
date_joined:
type: string
format: date-time
last_activity:
type: string
format: date-time
nullable: true
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
upload_quota:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
required:
- username
Metadata20:
type: object
properties:
actorId:
type: string
private:
type: boolean
readOnly: true
shortDescription:
type: string
readOnly: true
longDescription:
type: string
readOnly: true
contactEmail:
type: string
readOnly: true
nodeName:
type: string
readOnly: true
banner:
type: string
readOnly: true
defaultUploadQuota:
type: integer
readOnly: true
supportedUploadExtensions:
type: array
items:
type: string
allowList:
allOf:
- $ref: '#/components/schemas/AllowListStat'
readOnly: true
funkwhaleSupportMessageEnabled:
type: boolean
readOnly: true
instanceSupportMessage:
type: string
readOnly: true
usage:
$ref: '#/components/schemas/MetadataUsage'
library:
allOf:
- $ref: '#/components/schemas/NodeInfoLibrary'
readOnly: true
reportTypes:
type: array
items:
$ref: '#/components/schemas/ReportType'
endpoints:
$ref: '#/components/schemas/Endpoints'
rules:
type: string
readOnly: true
terms:
type: string
readOnly: true
required:
- actorId
- allowList
- banner
- contactEmail
- defaultUploadQuota
- endpoints
- funkwhaleSupportMessageEnabled
- instanceSupportMessage
- library
- longDescription
- nodeName
- private
- reportTypes
- rules
- shortDescription
- supportedUploadExtensions
- terms
MetadataUsage:
type: object
properties:
favorites:
$ref: '#/components/schemas/MetadataUsageFavorite'
listenings:
$ref: '#/components/schemas/TotalCount'
downloads:
$ref: '#/components/schemas/TotalCount'
required:
- downloads
- favorites
- listenings
MetadataUsageFavorite:
type: object
properties:
tracks:
allOf:
- $ref: '#/components/schemas/TotalCount'
readOnly: true
required:
- tracks
ModerationTarget:
type: object
properties:
type:
$ref: '#/components/schemas/ModerationTargetTypeEnum'
id:
type: string
required:
- id
- type
ModerationTargetRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ModerationTargetTypeEnum'
id:
type: string
minLength: 1
required:
- id
- type
ModerationTargetTypeEnum:
enum:
- artist
type: string
description: '* `artist` - artist'
NestedLibraryFollow:
type: object
properties:
creation_date:
type: string
format: date-time
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
approved:
type: boolean
nullable: true
modification_date:
type: string
format: date-time
readOnly: true
required:
- modification_date
NestedLibraryFollowRequest:
type: object
properties:
creation_date:
type: string
format: date-time
uuid:
type: string
format: uuid
fid:
type: string
format: uri
nullable: true
maxLength: 500
approved:
type: boolean
nullable: true
NodeInfo20:
type: object
properties:
version:
type: string
readOnly: true
software:
$ref: '#/components/schemas/Software'
protocols:
type: array
items: {}
readOnly: true
services:
allOf:
- $ref: '#/components/schemas/Services'
default:
inbound: []
outbound: []
openRegistrations:
type: boolean
readOnly: true
usage:
allOf:
- $ref: '#/components/schemas/Usage'
readOnly: true
metadata:
allOf:
- $ref: '#/components/schemas/Metadata20'
readOnly: true
required:
- metadata
- openRegistrations
- protocols
- software
- usage
- version
NodeInfoLibrary:
type: object
properties:
federationEnabled:
type: boolean
anonymousCanListen:
type: boolean
tracks:
allOf:
- $ref: '#/components/schemas/TotalCount'
default:
total: 0
artists:
allOf:
- $ref: '#/components/schemas/TotalCount'
default:
total: 0
albums:
allOf:
- $ref: '#/components/schemas/TotalCount'
default:
total: 0
music:
allOf:
- $ref: '#/components/schemas/TotalHours'
default:
hours: 0
required:
- anonymousCanListen
- federationEnabled
Oembed:
type: object
properties:
format:
$ref: '#/components/schemas/FormatEnum'
url:
type: string
format: uri
maxheight:
type: integer
maxwidth:
type: integer
required:
- format
- url
PaginatedAPIMutationList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/APIMutation'
PaginatedAlbumList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Album'
PaginatedApplicationList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Application'
PaginatedArtistWithAlbumsList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ArtistWithAlbums'
PaginatedChannelList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Channel'
PaginatedDomainList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Domain'
PaginatedFetchList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Fetch'
PaginatedFollowList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Follow'
PaginatedInboxItemList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/InboxItem'
PaginatedLibraryFollowList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/LibraryFollow'
PaginatedLibraryForOwnerList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/LibraryForOwner'
PaginatedLibraryList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Library'
PaginatedLicenseList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/License'
PaginatedListeningList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Listening'
PaginatedManageActorList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageActor'
PaginatedManageAlbumList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageAlbum'
PaginatedManageArtistList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageArtist'
PaginatedManageChannelList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageChannel'
PaginatedManageDomainList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageDomain'
PaginatedManageInstancePolicyList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageInstancePolicy'
PaginatedManageInvitationList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageInvitation'
PaginatedManageLibraryList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageLibrary'
PaginatedManageNoteList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageNote'
PaginatedManageReportList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageReport'
PaginatedManageTagList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageTag'
PaginatedManageTrackList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageTrack'
PaginatedManageUploadList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageUpload'
PaginatedManageUserList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageUser'
PaginatedManageUserRequestList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ManageUserRequest'
PaginatedPlaylistList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Playlist'
PaginatedPlaylistTrackList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/PlaylistTrack'
PaginatedRadioList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Radio'
PaginatedSubscriptionList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Subscription'
PaginatedTagList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Tag'
PaginatedTrackList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Track'
PaginatedUploadForOwnerList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/UploadForOwner'
PaginatedUserFilterList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/UserFilter'
PaginatedUserTrackFavoriteList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/UserTrackFavorite'
PasswordChange:
type: object
properties:
new_password1:
type: string
maxLength: 128
new_password2:
type: string
maxLength: 128
required:
- new_password1
- new_password2
PasswordChangeRequest:
type: object
properties:
new_password1:
type: string
minLength: 1
maxLength: 128
new_password2:
type: string
minLength: 1
maxLength: 128
required:
- new_password1
- new_password2
PasswordReset:
type: object
description: Serializer for requesting a password reset e-mail.
properties:
email:
type: string
format: email
required:
- email
PasswordResetConfirm:
type: object
description: Serializer for confirming a password reset attempt.
properties:
new_password1:
type: string
maxLength: 128
new_password2:
type: string
maxLength: 128
uid:
type: string
token:
type: string
required:
- new_password1
- new_password2
- token
- uid
PasswordResetConfirmRequest:
type: object
description: Serializer for confirming a password reset attempt.
properties:
new_password1:
type: string
minLength: 1
maxLength: 128
new_password2:
type: string
minLength: 1
maxLength: 128
uid:
type: string
minLength: 1
token:
type: string
minLength: 1
required:
- new_password1
- new_password2
- token
- uid
PasswordResetRequest:
type: object
description: Serializer for requesting a password reset e-mail.
properties:
email:
type: string
format: email
minLength: 1
required:
- email
PatchedApplicationRequest:
type: object
properties:
client_id:
type: string
minLength: 1
maxLength: 100
name:
type: string
maxLength: 255
scopes:
type: string
minLength: 1
PatchedChannelUpdateRequest:
type: object
properties:
cover:
type: string
writeOnly: true
nullable: true
name:
type: string
minLength: 1
maxLength: 200
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
tags:
type: array
items:
type: string
minLength: 1
minItems: 0
content_category:
$ref: '#/components/schemas/ContentCategoryEnum'
metadata:
type: object
additionalProperties: {}
PatchedGlobalPreferenceRequest:
type: object
properties:
value:
type: string
PatchedInboxItemRequest:
type: object
properties:
activity:
$ref: '#/components/schemas/ActivityRequest'
is_read:
type: boolean
PatchedManageDomainUpdateRequest:
type: object
properties:
allowed:
type: boolean
nullable: true
PatchedManageInstancePolicyRequest:
type: object
properties:
target:
$ref: '#/components/schemas/ManageTargetRequest'
summary:
type: string
nullable: true
maxLength: 10000
is_active:
type: boolean
block_all:
type: boolean
silence_activity:
type: boolean
silence_notifications:
type: boolean
reject_media:
type: boolean
PatchedManageInvitationRequest:
type: object
properties:
owner:
$ref: '#/components/schemas/ManageUserSimpleRequest'
invited_user:
$ref: '#/components/schemas/ManageUserSimpleRequest'
code:
type: string
nullable: true
minLength: 1
users:
type: array
items:
$ref: '#/components/schemas/ManageUserSimpleRequest'
PatchedManageLibraryRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
domain:
type: string
minLength: 1
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
actor:
$ref: '#/components/schemas/ManageBaseActorRequest'
PatchedManageReportRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ReportTypeEnum'
target: {}
is_handled:
type: boolean
assigned_to:
allOf:
- $ref: '#/components/schemas/ManageBaseActorRequest'
nullable: true
target_owner:
$ref: '#/components/schemas/ManageBaseActorRequest'
submitter:
$ref: '#/components/schemas/ManageBaseActorRequest'
notes:
type: array
items:
$ref: '#/components/schemas/ManageBaseNoteRequest'
nullable: true
default: []
PatchedManageUserRequest:
type: object
properties:
name:
type: string
title: Name of User
maxLength: 255
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
upload_quota:
type: integer
nullable: true
PatchedManageUserRequestRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ManageUserRequestTypeEnum'
status:
$ref: '#/components/schemas/ManageUserRequestStatusEnum'
assigned_to:
$ref: '#/components/schemas/ManageBaseActorRequest'
submitter:
$ref: '#/components/schemas/ManageBaseActorRequest'
PatchedPlaylistRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
PatchedRadioRequest:
type: object
properties:
is_public:
type: boolean
name:
type: string
minLength: 1
maxLength: 100
config: {}
description:
type: string
PatchedUploadForOwnerRequest:
type: object
properties:
filename:
type: string
minLength: 1
track:
allOf:
- $ref: '#/components/schemas/TrackRequest'
nullable: true
library:
type: string
channel:
type: string
import_status:
allOf:
- $ref: '#/components/schemas/ImportStatusEnum'
default: pending
import_metadata: {}
import_reference:
type: string
minLength: 1
maxLength: 50
source:
type: string
nullable: true
maxLength: 500
audio_file:
type: string
format: binary
writeOnly: true
PatchedUserDetailsRequest:
type: object
description: User model w/o password
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
PatchedUserWriteRequest:
type: object
properties:
name:
type: string
title: Name of User
maxLength: 255
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
avatar:
type: string
writeOnly: true
instance_support_message_display_date:
type: string
format: date-time
nullable: true
funkwhale_support_message_display_date:
type: string
format: date-time
nullable: true
summary:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
Playlist:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 100
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
modification_date:
type: string
format: date-time
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
tracks_count:
type: integer
readOnly: true
album_covers:
type: array
items:
type: string
readOnly: true
duration:
type: integer
readOnly: true
is_playable:
type: boolean
readOnly: true
required:
- actor
- album_covers
- creation_date
- duration
- id
- is_playable
- modification_date
- name
- tracks_count
PlaylistAddManyRequest:
type: object
properties:
tracks:
type: array
items:
type: integer
allow_duplicates:
type: boolean
required:
- tracks
PlaylistRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 100
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
required:
- name
PlaylistTrack:
type: object
properties:
track:
type: string
readOnly: true
index:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
creation_date:
type: string
format: date-time
required:
- track
PrivacyLevelEnum:
enum:
- me
- followers
- instance
- everyone
type: string
description: |-
* `me` - Only me
* `followers` - Me and my followers
* `instance` - Everyone on my instance, and my followers
* `everyone` - Everyone, including people on other instances
Radio:
type: object
properties:
id:
type: integer
readOnly: true
is_public:
type: boolean
name:
type: string
maxLength: 100
creation_date:
type: string
format: date-time
readOnly: true
user:
allOf:
- $ref: '#/components/schemas/UserBasic'
readOnly: true
config: {}
description:
type: string
required:
- config
- creation_date
- id
- name
- user
RadioRequest:
type: object
properties:
is_public:
type: boolean
name:
type: string
minLength: 1
maxLength: 100
config: {}
description:
type: string
required:
- config
- name
RadioSession:
type: object
properties:
id:
type: integer
readOnly: true
radio_type:
type: string
maxLength: 50
related_object_id:
type: string
nullable: true
user:
type: integer
nullable: true
creation_date:
type: string
format: date-time
custom_radio:
type: integer
nullable: true
config:
nullable: true
required:
- id
- radio_type
RadioSessionRequest:
type: object
properties:
radio_type:
type: string
minLength: 1
maxLength: 50
related_object_id:
type: string
nullable: true
minLength: 1
user:
type: integer
nullable: true
creation_date:
type: string
format: date-time
custom_radio:
type: integer
nullable: true
config:
nullable: true
required:
- radio_type
RadioSessionTrackSerializerCreate:
type: object
properties:
session:
type: integer
count:
type: integer
nullable: true
required:
- session
RadioSessionTrackSerializerCreateRequest:
type: object
properties:
session:
type: integer
count:
type: integer
nullable: true
required:
- session
RateLimit:
type: object
properties:
enabled:
type: boolean
ident:
$ref: '#/components/schemas/Ident'
scopes:
type: array
items:
$ref: '#/components/schemas/Scopes'
required:
- enabled
- ident
- scopes
Register:
type: object
properties:
username:
type: string
maxLength: 150
minLength: 1
email:
type: string
format: email
invitation:
type: string
nullable: true
required:
- email
- username
RegisterRequest:
type: object
properties:
username:
type: string
minLength: 1
maxLength: 150
email:
type: string
format: email
minLength: 1
password1:
type: string
writeOnly: true
minLength: 1
password2:
type: string
writeOnly: true
minLength: 1
invitation:
type: string
nullable: true
required:
- email
- password1
- password2
- username
Report:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
summary:
type: string
nullable: true
maxLength: 50000
creation_date:
type: string
format: date-time
readOnly: true
handled_date:
type: string
format: date-time
readOnly: true
nullable: true
is_handled:
type: boolean
readOnly: true
submitter_email:
type: string
format: email
nullable: true
maxLength: 254
target: {}
type:
$ref: '#/components/schemas/ReportTypeEnum'
required:
- creation_date
- handled_date
- is_handled
- target
- type
- uuid
ReportRequest:
type: object
properties:
summary:
type: string
nullable: true
maxLength: 50000
submitter_email:
type: string
format: email
nullable: true
minLength: 1
maxLength: 254
target: {}
type:
$ref: '#/components/schemas/ReportTypeEnum'
required:
- target
- type
ReportType:
type: object
properties:
type:
type: string
label:
type: string
anonymous:
type: boolean
required:
- anonymous
- label
- type
ReportTypeEnum:
enum:
- takedown_request
- invalid_metadata
- illegal_content
- offensive_content
- other
type: string
description: |-
* `takedown_request` - Takedown request
* `invalid_metadata` - Invalid metadata
* `illegal_content` - Illegal content
* `offensive_content` - Offensive content
* `other` - Other
Scopes:
type: object
properties:
id:
type: string
rate:
type: string
description:
type: string
limit:
type: integer
duration:
type: integer
remaining:
type: integer
available:
type: integer
available_seconds:
type: integer
reset:
type: integer
reset_seconds:
type: integer
required:
- available
- available_seconds
- description
- duration
- id
- limit
- rate
- remaining
- reset
- reset_seconds
SearchResult:
type: object
properties:
artists:
type: array
items:
$ref: '#/components/schemas/ArtistWithAlbums'
tracks:
type: array
items:
$ref: '#/components/schemas/Track'
albums:
type: array
items:
$ref: '#/components/schemas/Album'
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
required:
- albums
- artists
- tags
- tracks
Services:
type: object
properties:
inbound:
type: array
items:
type: string
default: []
outbound:
type: array
items:
type: string
default: []
SimpleChannelArtist:
type: object
properties:
id:
type: integer
fid:
type: string
format: uri
mbid:
type: string
name:
type: string
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
is_local:
type: boolean
content_category:
type: string
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
channel:
type: string
format: uuid
nullable: true
tracks_count:
type: integer
readOnly: true
tags:
type: array
items:
type: string
required:
- content_category
- creation_date
- fid
- id
- is_local
- mbid
- modification_date
- name
- tracks_count
SimpleChannelArtistRequest:
type: object
properties:
id:
type: integer
fid:
type: string
format: uri
minLength: 1
mbid:
type: string
minLength: 1
name:
type: string
minLength: 1
creation_date:
type: string
format: date-time
modification_date:
type: string
format: date-time
is_local:
type: boolean
content_category:
type: string
minLength: 1
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
channel:
type: string
format: uuid
nullable: true
tags:
type: array
items:
type: string
minLength: 1
required:
- content_category
- creation_date
- fid
- id
- is_local
- mbid
- modification_date
- name
SimpleFavorite:
type: object
properties:
id:
type: integer
track:
type: integer
required:
- id
- track
Software:
type: object
properties:
name:
type: string
readOnly: true
version:
type: string
required:
- name
- version
SpaManifest:
type: object
properties:
name:
type: string
default: Funkwhale
short_name:
type: string
default: Funkwhale
display:
type: string
background_color:
type: string
lang:
type: string
categories:
type: array
items:
type: string
description:
type: string
icons:
type: array
items:
$ref: '#/components/schemas/SpaManifestIcon'
start_url:
type: string
prefer_related_applications:
type: boolean
related_applications:
type: array
items:
$ref: '#/components/schemas/SpaManifestRelatedApplications'
shortcuts:
type: array
items:
$ref: '#/components/schemas/SpaManifestShortcut'
SpaManifestIcon:
type: object
properties:
src:
type: string
sizes:
type: string
type:
type: string
required:
- sizes
- src
- type
SpaManifestRelatedApplications:
type: object
properties:
platform:
type: string
url:
type: string
format: uri
id:
type: string
required:
- id
- platform
- url
SpaManifestShortcut:
type: object
properties:
name:
type: string
url:
type: string
icons:
type: array
items:
$ref: '#/components/schemas/SpaManifestIcon'
required:
- name
- url
Subscription:
type: object
properties:
approved:
type: boolean
readOnly: true
fid:
type: string
format: uri
readOnly: true
uuid:
type: string
format: uuid
readOnly: true
creation_date:
type: string
format: date-time
readOnly: true
required:
- approved
- creation_date
- fid
- uuid
Tag:
type: object
properties:
name:
type: string
maxLength: 100
creation_date:
type: string
format: date-time
required:
- name
TextPreview:
type: object
properties:
rendered:
type: string
readOnly: true
required:
- rendered
TextPreviewRequest:
type: object
properties:
text:
type: string
writeOnly: true
minLength: 1
required:
- text
TotalCount:
type: object
properties:
total:
type: integer
readOnly: true
required:
- total
TotalHours:
type: object
properties:
hours:
type: integer
readOnly: true
required:
- hours
Track:
type: object
properties:
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCredit'
album:
allOf:
- $ref: '#/components/schemas/TrackAlbum'
readOnly: true
uploads:
type: array
items:
$ref: '#/components/schemas/TrackUpload'
readOnly: true
listen_url:
type: string
format: uri
readOnly: true
tags:
type: array
items:
type: string
readOnly: true
attributed_to:
allOf:
- $ref: '#/components/schemas/APIActor'
nullable: true
description:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
id:
type: integer
fid:
type: string
format: uri
mbid:
type: string
format: uuid
title:
type: string
creation_date:
type: string
format: date-time
is_local:
type: boolean
position:
type: integer
disc_number:
type: integer
downloads_count:
type: integer
copyright:
type: string
license:
type: string
readOnly: true
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
is_playable:
type: boolean
readOnly: true
required:
- album
- artist_credit
- attributed_to
- copyright
- cover
- creation_date
- disc_number
- downloads_count
- fid
- id
- is_local
- is_playable
- license
- listen_url
- mbid
- position
- tags
- title
- uploads
TrackAlbum:
type: object
properties:
id:
type: integer
readOnly: true
fid:
type: string
format: uri
nullable: true
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCredit'
release_date:
type: string
format: date
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverField'
nullable: true
creation_date:
type: string
format: date-time
is_local:
type: boolean
readOnly: true
tracks_count:
type: integer
readOnly: true
required:
- artist_credit
- cover
- id
- is_local
- title
- tracks_count
TrackAlbumRequest:
type: object
properties:
fid:
type: string
format: uri
nullable: true
minLength: 1
maxLength: 500
mbid:
type: string
format: uuid
nullable: true
title:
type: string
minLength: 1
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCreditRequest'
release_date:
type: string
format: date
nullable: true
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
creation_date:
type: string
format: date-time
required:
- artist_credit
- cover
- title
TrackMetadata:
type: object
properties:
title:
type: string
nullable: true
position:
type: string
nullable: true
disc_number:
type: string
nullable: true
copyright:
type: string
nullable: true
license:
type: string
nullable: true
mbid:
type: string
format: uuid
nullable: true
tags:
type: string
nullable: true
description:
type: string
nullable: true
album:
type: string
artist_credit:
type: string
cover_data:
type: string
required:
- album
- artist_credit
TrackRequest:
type: object
properties:
artist_credit:
type: array
items:
$ref: '#/components/schemas/ArtistCreditRequest'
attributed_to:
allOf:
- $ref: '#/components/schemas/APIActorRequest'
nullable: true
description:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
id:
type: integer
fid:
type: string
format: uri
minLength: 1
mbid:
type: string
format: uuid
title:
type: string
minLength: 1
creation_date:
type: string
format: date-time
is_local:
type: boolean
position:
type: integer
disc_number:
type: integer
downloads_count:
type: integer
copyright:
type: string
minLength: 1
cover:
allOf:
- $ref: '#/components/schemas/CoverFieldRequest'
nullable: true
required:
- artist_credit
- attributed_to
- copyright
- cover
- creation_date
- disc_number
- downloads_count
- fid
- id
- is_local
- mbid
- position
- title
TrackUpload:
type: object
properties:
uuid:
type: string
format: uuid
listen_url:
type: string
format: uri
size:
type: integer
duration:
type: integer
bitrate:
type: integer
mimetype:
type: string
extension:
type: string
is_local:
type: boolean
readOnly: true
required:
- bitrate
- duration
- extension
- is_local
- listen_url
- mimetype
- size
- uuid
UploadForOwner:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
filename:
type: string
creation_date:
type: string
format: date-time
readOnly: true
mimetype:
type: string
readOnly: true
nullable: true
track:
allOf:
- $ref: '#/components/schemas/Track'
nullable: true
library:
type: string
channel:
type: string
duration:
type: integer
readOnly: true
nullable: true
bitrate:
type: integer
readOnly: true
nullable: true
size:
type: integer
readOnly: true
nullable: true
import_date:
type: string
format: date-time
readOnly: true
nullable: true
import_status:
allOf:
- $ref: '#/components/schemas/ImportStatusEnum'
default: pending
import_details:
readOnly: true
import_metadata: {}
import_reference:
type: string
maxLength: 50
metadata:
readOnly: true
source:
type: string
nullable: true
maxLength: 500
required:
- bitrate
- creation_date
- duration
- import_date
- import_details
- metadata
- mimetype
- size
- uuid
UploadForOwnerRequest:
type: object
properties:
filename:
type: string
minLength: 1
track:
allOf:
- $ref: '#/components/schemas/TrackRequest'
nullable: true
library:
type: string
channel:
type: string
import_status:
allOf:
- $ref: '#/components/schemas/ImportStatusEnum'
default: pending
import_metadata: {}
import_reference:
type: string
minLength: 1
maxLength: 50
source:
type: string
nullable: true
maxLength: 500
audio_file:
type: string
format: binary
writeOnly: true
required:
- audio_file
Usage:
type: object
properties:
users:
$ref: '#/components/schemas/UsersUsage'
localPosts:
type: integer
localComments:
type: integer
required:
- users
UserBasic:
type: object
properties:
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
name:
type: string
title: Name of User
maxLength: 255
date_joined:
type: string
format: date-time
avatar:
allOf:
- $ref: '#/components/schemas/Attachment'
nullable: true
required:
- avatar
- id
- username
UserBasicRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
name:
type: string
title: Name of User
maxLength: 255
date_joined:
type: string
format: date-time
avatar:
allOf:
- $ref: '#/components/schemas/AttachmentRequest'
nullable: true
required:
- avatar
- username
UserDetails:
type: object
description: User model w/o password
properties:
pk:
type: integer
readOnly: true
title: ID
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
email:
type: string
format: email
readOnly: true
title: Email address
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- email
- pk
- username
UserDetailsRequest:
type: object
description: User model w/o password
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- username
UserFilter:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
target:
$ref: '#/components/schemas/ModerationTarget'
creation_date:
type: string
format: date-time
readOnly: true
required:
- creation_date
- target
- uuid
UserFilterRequest:
type: object
properties:
target:
$ref: '#/components/schemas/ModerationTargetRequest'
required:
- target
UserTrackFavorite:
type: object
properties:
id:
type: integer
readOnly: true
actor:
allOf:
- $ref: '#/components/schemas/APIActor'
readOnly: true
track:
allOf:
- $ref: '#/components/schemas/Track'
readOnly: true
creation_date:
type: string
format: date-time
required:
- actor
- id
- track
UserTrackFavoriteWrite:
type: object
properties:
id:
type: integer
readOnly: true
track:
type: integer
creation_date:
type: string
format: date-time
required:
- id
- track
UserTrackFavoriteWriteRequest:
type: object
properties:
track:
type: integer
creation_date:
type: string
format: date-time
required:
- track
UserWrite:
type: object
properties:
name:
type: string
title: Name of User
maxLength: 255
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
instance_support_message_display_date:
type: string
format: date-time
nullable: true
funkwhale_support_message_display_date:
type: string
format: date-time
nullable: true
summary:
allOf:
- $ref: '#/components/schemas/Content'
nullable: true
UserWriteRequest:
type: object
properties:
name:
type: string
title: Name of User
maxLength: 255
privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum'
avatar:
type: string
writeOnly: true
instance_support_message_display_date:
type: string
format: date-time
nullable: true
funkwhale_support_message_display_date:
type: string
format: date-time
nullable: true
summary:
allOf:
- $ref: '#/components/schemas/ContentRequest'
nullable: true
required:
- avatar
UsersUsage:
type: object
properties:
total:
type: integer
activeHalfyear:
type: integer
readOnly: true
activeMonth:
type: integer
readOnly: true
required:
- activeHalfyear
- activeMonth
- total
VerifyEmailRequest:
type: object
properties:
key:
type: string
writeOnly: true
minLength: 1
required:
- key
securitySchemes:
ApplicationToken:
type: http
scheme: bearer
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /authorize
tokenUrl: /api/v1/oauth/token/
scopes:
read: ''
read:profile: ''
read:libraries: ''
read:edits: ''
read:follows: ''
read:favorites: ''
read:filters: ''
read:listenings: ''
read:radios: ''
read:playlists: ''
read:notifications: ''
read:security: ''
read:reports: ''
read:plugins: ''
read:instance:settings: ''
read:instance:users: ''
read:instance:invitations: ''
read:instance:edits: ''
read:instance:libraries: ''
read:instance:accounts: ''
read:instance:domains: ''
read:instance:policies: ''
read:instance:reports: ''
read:instance:requests: ''
read:instance:notes: ''
write: ''
write:profile: ''
write:libraries: ''
write:edits: ''
write:follows: ''
write:favorites: ''
write:filters: ''
write:listenings: ''
write:radios: ''
write:playlists: ''
write:notifications: ''
write:security: ''
write:reports: ''
write:plugins: ''
write:instance:settings: ''
write:instance:users: ''
write:instance:invitations: ''
write:instance:edits: ''
write:instance:libraries: ''
write:instance:accounts: ''
write:instance:domains: ''
write:instance:policies: ''
write:instance:reports: ''
write:instance:requests: ''
write:instance:notes: ''
servers:
- url: https://demo.funkwhale.audio
description: Demo Server
- url: https://funkwhale.audio
description: Read server with real content
- url: '{protocol}://{domain}'
description: Custom server
variables:
domain:
default: yourdomain
description: Your Funkwhale Domain
protocol:
enum:
- http
- https
default: https