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/MetedataChoices' 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: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' multipart/form-data: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' application/activity+json: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' required: true 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/MetedataChoices' 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: getNodeInfo21 tags: - instance responses: '200': content: application/json: schema: $ref: '#/components/schemas/NodeInfo21' 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: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' multipart/form-data: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' application/activity+json: schema: type: array items: $ref: '#/components/schemas/UploadBulkUpdateRequest' required: true 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 subscriptions_count: type: integer readOnly: true required: - actor - artist - attributed_to - downloads_count - rss_url - subscriptions_count - 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 LanguageItem: type: object properties: value: type: string label: type: string required: - label - value 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 Metadata21: 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' languages: type: array items: type: string location: type: string content: $ref: '#/components/schemas/MetadataContent' features: type: array items: type: string codeOfConduct: type: string readOnly: true required: - actorId - allowList - banner - codeOfConduct - contactEmail - content - defaultUploadQuota - features - funkwhaleSupportMessageEnabled - instanceSupportMessage - languages - location - longDescription - nodeName - private - shortDescription - supportedUploadExtensions MetadataContent: type: object properties: local: $ref: '#/components/schemas/MetadataContentLocal' topMusicCategories: type: array items: $ref: '#/components/schemas/MetadataContentCategory' topPodcastCategories: type: array items: $ref: '#/components/schemas/MetadataContentCategory' required: - local - topMusicCategories - topPodcastCategories MetadataContentCategory: type: object properties: name: type: string count: type: integer required: - count - name MetadataContentLocal: type: object properties: artists: type: integer releases: type: integer recordings: type: integer hoursOfContent: type: integer required: - artists - hoursOfContent - recordings - releases 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 MetedataChoices: type: object properties: language: type: array items: $ref: '#/components/schemas/LanguageItem' itunes_category: type: array items: $ref: '#/components/schemas/iTunesCategoryItem' required: - itunes_category - language 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 NodeInfo21: type: object properties: version: type: string readOnly: true software: $ref: '#/components/schemas/SoftwareSerializer_v2' 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/Metadata21' 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' description: type: string nullable: true maxLength: 5000 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 privacy_level: $ref: '#/components/schemas/LibraryPrivacyLevelEnum' 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 description: type: string nullable: true maxLength: 5000 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' description: type: string nullable: true maxLength: 5000 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 SoftwareSerializer_v2: type: object properties: name: type: string readOnly: true version: type: string repository: type: string readOnly: true homepage: type: string readOnly: true required: - homepage - name - repository - 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 UploadBulkUpdateRequest: type: object properties: uuid: type: string format: uuid privacy_level: $ref: '#/components/schemas/LibraryPrivacyLevelEnum' required: - privacy_level - 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 privacy_level: $ref: '#/components/schemas/LibraryPrivacyLevelEnum' 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 privacy_level: $ref: '#/components/schemas/LibraryPrivacyLevelEnum' 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 iTunesCategoryItem: type: object properties: value: type: string label: type: string children: type: string required: - children - label - value 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