From 7de7dbfdb59967f39a9e2b4482508a9811955ae7 Mon Sep 17 00:00:00 2001 From: jon r Date: Mon, 24 Feb 2025 21:21:51 +0100 Subject: [PATCH] feat(api/common): read generated OpenAPI schema to a third place and render mirrors symlinks --- api/funkwhale_api/common/schema.yml | 25924 +++++++++++++++++++++++++ docs/specs/nodeinfo21/schema.yml | 634 +- front/src/generated/schema.yml | 25993 +------------------------- 3 files changed, 25926 insertions(+), 26625 deletions(-) create mode 100644 api/funkwhale_api/common/schema.yml mode change 100644 => 120000 docs/specs/nodeinfo21/schema.yml mode change 100644 => 120000 front/src/generated/schema.yml diff --git a/api/funkwhale_api/common/schema.yml b/api/funkwhale_api/common/schema.yml new file mode 100644 index 000000000..a4bc7792b --- /dev/null +++ b/api/funkwhale_api/common/schema.yml @@ -0,0 +1,25924 @@ +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 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 ` + 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 ` + + ## 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 diff --git a/docs/specs/nodeinfo21/schema.yml b/docs/specs/nodeinfo21/schema.yml deleted file mode 100644 index 58035c2db..000000000 --- a/docs/specs/nodeinfo21/schema.yml +++ /dev/null @@ -1,633 +0,0 @@ -openapi: "3.0.3" -info: - description: "Interactive documentation for [Funkwhale](https://funkwhale.audio) API." - version: "2.0.0" - title: "Funkwhale API" - -servers: - - url: "https://demo.funkwhale.audio" - description: "Demo server" - - url: "https://open.audio" - description: "Real server with real content" - - url: "https://{domain}" - description: "Custom server" - variables: - domain: - default: yourdomain - description: "Your Funkwhale Domain" - protocol: - enum: - - "http" - - "https" - default: "https" -tags: - - name: Instance - description: Information about the server - - name: Content - description: Information about content on the server -paths: - /api/v2/instance/nodeinfo/2.1: - get: - tags: - - Instance - summary: Retrieve nodeinfo data - description: Retrieve details about a Funkwhale server using the Nodeinfo standard - operationId: getNodeinfo - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Nodeinfo" - application/xml: - schema: - $ref: "#/components/schemas/Nodeinfo" - "401": - $ref: "#/components/responses/Unauthorized" - /api/v2/tags/podcasts: - get: - tags: - - Content - summary: Retrieve podcast categories - description: Retrieve a list of podcast categories and the number of uploads tagged with those categories - operationId: getTagsPodcasts - parameters: - - name: q - in: query - required: false - description: A free text field to filter category names - schema: - type: string - - name: page - in: query - required: false - description: The number of the result page you want to return - schema: - type: number - - name: page_size - in: query - required: false - description: The number of results to return on each page. Defaults to 50. - schema: - type: number - - name: ordering - in: query - required: false - description: | - The order in which results are presented. Preface with `-` to return items in descending order. - schema: - type: string - enum: - - "name" - - "creation_date" - - "tagged_items" - - "-name" - - "-creation_date" - - "-tagged_items" - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Categories" - application/xml: - schema: - $ref: "#/components/schemas/Categories" - "401": - $ref: "#/components/responses/Unauthorized" - /api/v2/tags/podcasts/{category}: - get: - tags: - - Content - summary: Retrieve podcast categories - description: Retrieve a list of podcast categories and the number of uploads tagged with those categories - operationId: getTagPodcasts - parameters: - - name: category - in: path - required: true - description: The category you want to return information about - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Category" - application/xml: - schema: - $ref: "#/components/schemas/Category" - "401": - $ref: "#/components/responses/Unauthorized" - /api/v2/tags/music: - get: - tags: - - Content - summary: Retrieve music genres - description: Retrieve a list of music genres and the number of uploads tagged with those categories - operationId: getTagsMusic - parameters: - - name: q - in: query - required: false - description: A free text field to filter genre names - schema: - type: string - - name: page - in: query - required: false - description: The number of the result page you want to return - schema: - type: number - - name: page_size - in: query - required: false - description: The number of results to return on each page. Defaults to 50. - schema: - type: number - - name: ordering - in: query - required: false - description: | - The order in which results are presented. Preface with `-` to return items in descending order. - schema: - type: string - enum: - - "name" - - "creation_date" - - "tagged_items" - - "-name" - - "-creation_date" - - "-tagged_items" - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Genres" - application/xml: - schema: - $ref: "#/components/schemas/Genres" - "401": - $ref: "#/components/responses/Unauthorized" - /api/v2/tags/music/{genre}: - get: - tags: - - Content - summary: Retrieve podcast categories - description: Retrieve a list of podcast categories and the number of uploads tagged with those categories - operationId: getTagMusic - parameters: - - name: genre - in: path - required: true - description: The genre you want to return information about - schema: - type: string - responses: - "200": - description: Successful operation - content: - application/json: - schema: - $ref: "#/components/schemas/Genre" - application/xml: - schema: - $ref: "#/components/schemas/Genre" - "401": - $ref: "#/components/responses/Unauthorized" -components: - responses: - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - example: - code: 401 - message: User not authorized - application/xml: - schema: - $ref: "#/components/schemas/Error" - example: - code: 401 - message: User not authorized - schemas: - Categories: - type: object - properties: - total: - type: number - next: - type: string - format: url - previous: - type: string - format: url - results: - type: array - items: - $ref: "#/components/schemas/Category" - example: - total: 5 - next: https://demo.funkwhale.audio/api/v2/categories?page=2&page_size=2&q=crime - previous: null - results: - - category: "True Crime" - created_date: "2020-01-01T00:00:00.000Z" - tagged_items: 5 - results_page: "https://demo.funkwhale.audio/library/categories/True%20Crime" - - category: "True Stories" - created_date: "2023-12-15T23:32:52.000Z" - tagged_items: 200 - results_page: "https://demo.funkwhale.audio/library/categories/True%20Stories" - Category: - type: object - properties: - category: - type: string - created_date: - type: string - format: date-time - tagged_items: - type: number - results_page: - type: string - format: url - example: - category: "True Crime" - created_date: "2020-01-01T00:00:00.000Z" - tagged_items: 5 - results_page: "https://demo.funkwhale.audio/library/categories/True%20Crime" - Genres: - type: object - properties: - total: - type: number - next: - type: string - format: url - previous: - type: string - format: url - results: - type: array - items: - $ref: "#/components/schemas/Genre" - example: - total: 5 - next: https://demo.funkwhale.audio/api/v2/categories?page=2&page_size=2&q=rock - previous: null - results: - - genre: "Acoustic Rock" - created_date: "2020-01-01T00:00:00.000Z" - tagged_items: 5 - results_page: "https://demo.funkwhale.audio/library/categories/Acoustic%20Rock" - - genre: "Surf Rock" - created_date: "2023-12-15T23:32:52.000Z" - tagged_items: 200 - results_page: "https://demo.funkwhale.audio/library/categories/Surf%20Rock" - Genre: - type: object - properties: - genre: - type: string - created_date: - type: string - format: date-time - tagged_items: - type: number - results_page: - type: string - format: url - example: - genre: "Acoustic Rock" - created_date: "2020-01-01T00:00:00.000Z" - tagged_items: 5 - results_page: "https://demo.funkwhale.audio/library/categories/Acoustic%20Rock" - Nodeinfo: - type: object - required: - - version - - software - - protocols - - services - - openRegistrations - - usage - - metadata - properties: - version: - type: string - enum: - - "2.1" - software: - type: object - required: - - name - - version - properties: - name: - type: string - enum: - - "Funkwhale" - version: - type: string - example: "1.4.0" - repository: - type: string - format: url - enum: - - "https://dev.funkwhale.audio/funkwhale/funkwhale" - homepage: - type: string - format: url - enum: - - "https://funkwhale.audio" - protocols: - type: array - minItems: 1 - items: - type: string - enum: - - "activitypub" - - "buddycloud" - - "dfrn" - - "diaspora" - - "libertree" - - "ostatus" - - "pumpio" - - "tent" - - "xmpp" - - "zot" - example: - - "activitypub" - services: - type: object - required: - - inbound - - outbound - properties: - inbound: - type: array - items: - type: string - enum: - - "atom1.0" - - "gnusocial" - - "imap" - - "pnut" - - "pop3" - - "pumpio" - - "rss2.0" - - "twitter" - outbound: - type: array - items: - type: string - enum: - - "atom1.0" - - "blogger" - - "buddycloud" - - "diaspora" - - "dreamwidth" - - "drupal" - - "facebook" - - "friendica" - - "gnusocial" - - "google" - - "insanejournal" - - "libertree" - - "linkedin" - - "livejournal" - - "mediagoblin" - - "myspace" - - "pinterest" - - "pnut" - - "posterous" - - "pumpio" - - "redmatrix" - - "rss2.0" - - "smtp" - - "tent" - - "tumblr" - - "twitter" - - "wordpress" - - "xmpp" - openRegistrations: - type: boolean - usage: - type: object - required: - - users - properties: - users: - type: object - properties: - total: - type: integer - minimum: 0 - activeHalfYear: - type: integer - minimum: 0 - activeMonth: - type: integer - minimum: 0 - localPosts: - type: integer - minimum: 0 - localComments: - type: integer - minimum: 0 - metadata: - type: object - properties: - actorId: - type: string - format: url - private: - type: boolean - shortDescription: - type: string - longDescription: - type: string - contactEmail: - type: string - format: email - nodeName: - type: string - banner: - type: string - format: url - nullable: true - defaultUploadQuota: - type: integer - supportedUploadExtensions: - type: array - items: - type: string - allowList: - type: object - properties: - enabled: - type: boolean - domains: - type: array - nullable: true - items: - type: string - funkwhaleSupportMessageEnabled: - type: boolean - instanceSupportMessage: - type: string - languages: - type: array - items: - type: string - location: - type: string - codeOfConduct: - type: string - format: url - content: - type: object - properties: - local: - type: object - properties: - artists: - type: number - releases: - type: number - recordings: - type: number - hoursOfContent: - type: number - example: - artists: 1000 - releases: 10000 - recordings: 150000 - hoursOfContent: 7500 - topMusicCategories: - type: array - items: - type: object - properties: - name: - type: string - count: - type: integer - minimum: 0 - example: - - name: "rock" - count: 1256 - - name: "jazz" - count: 604 - - name: "classical" - count: 308 - topPodcastCategories: - type: array - items: - type: object - properties: - name: - type: string - count: - type: integer - minimum: 0 - example: - - name: "comedy" - count: 12 - - name: "politics" - count: 4 - - name: "nature" - count: 1 - federation: - type: object - properties: - followedInstances: - type: integer - followingInstances: - type: integer - usage: - type: object - properties: - listenings: - type: integer - minimum: 0 - downloads: - type: integer - minimum: 0 - favorites: - type: object - properties: - tracks: - type: integer - minimum: 0 - features: - type: array - items: - type: string - example: - - "channels" - - "podcasts" - - "collections" - - "audiobooks" - - "federation" - - "anonymousCanListen" - - "onlyMbidTaggedContent" - - Error: - type: object - properties: - code: - type: string - message: - type: string - required: - - code - - message - securitySchemes: - oauth2: - type: oauth2 - description: This API uses OAuth 2 with the Authorization Code flow. You can register an app using the /oauth/apps/ endpoint. - flows: - authorizationCode: - authorizationUrl: /authorize - tokenUrl: /api/v1/oauth/token/ - refreshUrl: /api/v1/oauth/token/ - scopes: - "read": "Read-only access to all user data" - "write": "Write-only access on all user data" - "read:edits": "Read-only access to edits" - "write:edits": "Write-only access to edits" - "read:favorites": "Read-only access to favorites" - "write:favorites": "Write-only access to favorits" - "read:filters": "Read-only to to content filters" - "write:filters": "Write-only access to content-filters" - "read:follows": "Read-only to follows" - "write:follows": "Write-only access to follows" - "read:libraries": "Read-only access to library and uploads" - "write:libraries": "Write-only access to libraries" - "read:listenings": "Read-only access to listening history" - "write:listenings": "Write-only access to listening history" - "read:notifications": "Read-only access to notifications" - "write:notifications": "Write-only access to notifications" - "read:playlists": "Read-only access to playlists" - "write:playlists": "Write-only access to playlists" - "read:profile": "Read-only access to profile data" - "write:profile": "Write-only access to profile data" - "read:radios": "Read-only access to radios" - "write:radios": "Write-only access to radios" - "read:reports": "Read-only access to reports" - "write:reports": "Write-only access to reports" - "read:security": "Read-only access security settings" - "write:security": "write-only access security settings" - -security: - - oauth2: [] diff --git a/docs/specs/nodeinfo21/schema.yml b/docs/specs/nodeinfo21/schema.yml new file mode 120000 index 000000000..679eddb56 --- /dev/null +++ b/docs/specs/nodeinfo21/schema.yml @@ -0,0 +1 @@ +../../../api/funkwhale_api/common/schema.yml \ No newline at end of file diff --git a/front/src/generated/schema.yml b/front/src/generated/schema.yml deleted file mode 100644 index 112326c80..000000000 --- a/front/src/generated/schema.yml +++ /dev/null @@ -1,25992 +0,0 @@ -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 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 ` - 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 ` - - ## 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: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - 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: |- - Calls Django Auth PasswordResetForm save method. - - Accepts the following POST parameters: email - Returns the success/fail message. - 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: |- - Password reset e-mail link is confirmed, therefore - this resets the user's password. - - Accepts the following POST parameters: token, uid, - new_password1, new_password2 - Returns the success/fail message. - 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: |- - Registers a new user. - - Accepts the following POST parameters: username, email, password1, password2. - 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: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - 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: |- - Verifies the email associated with the provided key. - - Accepts the following POST parameter: key. - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - 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: |- - Calls Django Auth PasswordResetForm save method. - - Accepts the following POST parameters: email - Returns the success/fail message. - 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: |- - Password reset e-mail link is confirmed, therefore - this resets the user's password. - - Accepts the following POST parameters: token, uid, - new_password1, new_password2 - Returns the success/fail message. - 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: |- - Registers a new user. - - Accepts the following POST parameters: username, email, password1, password2. - 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: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - 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: |- - Verifies the email associated with the provided key. - - Accepts the following POST parameter: key. - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 sys.getdefaultencoding(). - 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 diff --git a/front/src/generated/schema.yml b/front/src/generated/schema.yml new file mode 120000 index 000000000..679eddb56 --- /dev/null +++ b/front/src/generated/schema.yml @@ -0,0 +1 @@ +../../../api/funkwhale_api/common/schema.yml \ No newline at end of file