From b3e2b84f7e2d141bcdf9d49c56984dc497d1212b Mon Sep 17 00:00:00 2001 From: wvffle Date: Sun, 25 Sep 2022 16:12:52 +0000 Subject: [PATCH] Remove operations and schema --- api/operations.json | 594 -- api/schema.yml | 13390 ------------------------------------------ 2 files changed, 13984 deletions(-) delete mode 100644 api/operations.json delete mode 100644 api/schema.yml diff --git a/api/operations.json b/api/operations.json deleted file mode 100644 index edb120fa9..000000000 --- a/api/operations.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "/api/v1/activity/": { - "get": "get_activity" - }, - "/api/v1/albums/": { - "get": "get_albums", - "post": "create_album" - }, - "/api/v1/albums/{id}/": { - "get": "get_album", - "delete": "delete_album" - }, - "/api/v1/albums/{id}/fetches/": { - "get": "get_album_fetches", - "post": "create_album_fetch" - }, - "/api/v1/albums/{id}/libraries/": { - "get": "get_album_libraries" - }, - "/api/v1/albums/{id}/mutations/": { - "get": "get_album_mutations", - "post": "create_album_mutation" - }, - "/api/v1/artists/": { - "get": "get_artists" - }, - "/api/v1/artists/{id}/": { - "get": "get_artist" - }, - "/api/v1/artists/{id}/fetches/": { - "get": "get_artist_fetches", - "post": "create_artist_fetch" - }, - "/api/v1/artists/{id}/libraries/": { - "get": "get_artist_libraries" - }, - "/api/v1/artists/{id}/mutations/": { - "get": "get_artist_mutations", - "post": "create_artist_mutation" - }, - "/api/v1/attachments/": { - "post": "create_attachment" - }, - "/api/v1/attachments/{uuid}/": { - "get": "get_attachment", - "delete": "delete_attachment" - }, - "/api/v1/attachments/{uuid}/proxy/": { - "get": "get_attachment_proxy" - }, - "/api/v1/auth/password/change/": { - "post": "change_password" - }, - "/api/v1/auth/password/reset/": { - "post": "reset_password" - }, - "/api/v1/auth/password/reset/confirm/": { - "post": "confirm_password_reset" - }, - "/api/v1/auth/registration/": { - "post": "register" - }, - "/api/v1/auth/registration/change-password/": { - "post": "change_password_2" - }, - "/api/v1/auth/registration/verify-email/": { - "post": "verify_email" - }, - "/api/v1/auth/user/": { - "get": "get_auth_user", - "put": "update_auth_user", - "patch": "partial_update_auth_user" - }, - "/api/v1/channels/": { - "get": "get_channels", - "post": "create_channel" - }, - "/api/v1/channels/{composite}/": { - "get": "get_channel", - "put": "update_channel", - "patch": "partial_update_channel", - "delete": "delete_channel" - }, - "/api/v1/channels/{composite}/rss/": { - "get": "get_channel_rss" - }, - "/api/v1/channels/{composite}/subscribe/": { - "post": "subscribe_channel" - }, - "/api/v1/channels/{composite}/unsubscribe/": { - "post": "unsubscribe_channel_2", - "delete": "unsubscribe_channel" - }, - "/api/v1/channels/metadata-choices/": { - "get": "get_channel_metadata_choices" - }, - "/api/v1/channels/rss-subscribe/": { - "post": "subscribe_channel_rss" - }, - "/api/v1/favorites/tracks/": { - "get": "get_favorite_tracks", - "post": "favorite_track" - }, - "/api/v1/favorites/tracks/{id}/": { - "delete": "delete_favorite_track" - }, - "/api/v1/favorites/tracks/all/": { - "get": "get_all_favorite_tracks" - }, - "/api/v1/favorites/tracks/remove/": { - "post": "unfavorite_track_2", - "delete": "unfavorite_track" - }, - "/api/v1/federation/actors/{full_username}/": { - "get": "get_federation_actor" - }, - "/api/v1/federation/actors/{full_username}/libraries/": { - "get": "get_federation_actor_library" - }, - "/api/v1/federation/domains/": { - "get": "get_federation_domains" - }, - "/api/v1/federation/domains/{name}/": { - "get": "get_federation_domain" - }, - "/api/v1/federation/fetches/": { - "post": "create_federation_fetch" - }, - "/api/v1/federation/fetches/{id}/": { - "get": "get_federation_fetch" - }, - "/api/v1/federation/follows/library/": { - "get": "get_federation_library_follows", - "post": "create_federation_library_follow" - }, - "/api/v1/federation/follows/library/{uuid}/": { - "get": "get_federation_library_follow", - "delete": "delete_federation_library_follow" - }, - "/api/v1/federation/follows/library/{uuid}/accept/": { - "post": "accept_federation_library_follow" - }, - "/api/v1/federation/follows/library/{uuid}/reject/": { - "post": "reject_federation_library_follow" - }, - "/api/v1/federation/follows/library/all/": { - "get": "get_all_federation_library_follows" - }, - "/api/v1/federation/inbox/": { - "get": "get_federation_inboxes" - }, - "/api/v1/federation/inbox/{id}/": { - "get": "get_federation_inbox", - "put": "update_federation_inbox", - "patch": "partial_update_federation_inbox" - }, - "/api/v1/federation/inbox/action/": { - "post": "create_federation_inbox_action" - }, - "/api/v1/federation/libraries/{uuid}/": { - "get": "get_federation_library" - }, - "/api/v1/federation/libraries/{uuid}/scan/": { - "post": "create_federation_library_scan" - }, - "/api/v1/federation/libraries/fetch/": { - "post": "create_federation_library_fetch" - }, - "/api/v1/history/listenings/": { - "get": "get_history_listenings", - "post": "create_history_listening" - }, - "/api/v1/history/listenings/{id}/": { - "get": "get_history_listening" - }, - "/api/v1/instance/admin/settings/": { - "get": "get_instance_admin_settings" - }, - "/api/v1/instance/admin/settings/{id}/": { - "get": "get_instance_admin_setting", - "put": "update_instance_admin_setting", - "patch": "partial_update_instance_admin_setting" - }, - "/api/v1/instance/admin/settings/bulk/": { - "post": "create_instance_admin_setting_bulk" - }, - "/api/v1/instance/nodeinfo/2.0/": { - "get": "get_instance_nodeinfo_2.0" - }, - "/api/v1/instance/settings/": { - "get": "get_instance_settings" - }, - "/api/v1/instance/spa-manifest.json": { - "get": "get_spa_manifest" - }, - "/api/v1/libraries/": { - "get": "get_libraries", - "post": "create_library" - }, - "/api/v1/libraries/{uuid}/": { - "get": "get_library", - "put": "update_library", - "patch": "partial_update_library", - "delete": "delete_library" - }, - "/api/v1/libraries/{uuid}/follows/": { - "get": "get_library_follow" - }, - "/api/v1/libraries/fs-import/": { - "get": "get_library_fs_import", - "post": "create_library_fs_import", - "delete": "delete_library_fs_import" - }, - "/api/v1/licenses/": { - "get": "get_licenses" - }, - "/api/v1/licenses/{code}/": { - "get": "get_license" - }, - "/api/v1/listen/{uuid}/": { - "get": "get_listen" - }, - "/api/v1/manage/accounts/": { - "get": "admin_get_accounts" - }, - "/api/v1/manage/accounts/{id}/": { - "get": "admin_get_account" - }, - "/api/v1/manage/accounts/{id}/stats/": { - "get": "admin_get_account_stats" - }, - "/api/v1/manage/accounts/action/": { - "post": "admin_create_account_action" - }, - "/api/v1/manage/channels/": { - "get": "admin_get_channels" - }, - "/api/v1/manage/channels/{composite}/": { - "get": "admin_get_channel", - "delete": "admin_delete_channel" - }, - "/api/v1/manage/channels/{composite}/stats/": { - "get": "admin_get_channel_stats" - }, - "/api/v1/manage/federation/domains/": { - "get": "admin_get_federation_domains", - "post": "admin_create_federation_domain" - }, - "/api/v1/manage/federation/domains/{name}/": { - "get": "admin_get_federation_domain", - "put": "admin_update_federation_domain", - "patch": "admin_partial_update_federation_domain" - }, - "/api/v1/manage/federation/domains/{name}/nodeinfo/": { - "get": "admin_get_federation_domain_nodeinfo" - }, - "/api/v1/manage/federation/domains/{name}/stats/": { - "get": "admin_get_federation_domain_stats" - }, - "/api/v1/manage/federation/domains/action/": { - "post": "admin_create_federation_domain_action" - }, - "/api/v1/manage/library/albums/": { - "get": "admin_get_albums" - }, - "/api/v1/manage/library/albums/{id}/": { - "get": "admin_get_album", - "delete": "admin_delete_album" - }, - "/api/v1/manage/library/albums/{id}/stats/": { - "get": "admin_get_library_album_stats" - }, - "/api/v1/manage/library/albums/action/": { - "post": "admin_create_album_action" - }, - "/api/v1/manage/library/artists/": { - "get": "admin_get_artists" - }, - "/api/v1/manage/library/artists/{id}/": { - "get": "admin_get_artist", - "delete": "admin_delete_artist" - }, - "/api/v1/manage/library/artists/{id}/stats/": { - "get": "admin_get_library_artist_stats" - }, - "/api/v1/manage/library/artists/action/": { - "post": "admin_create_artist_action" - }, - "/api/v1/manage/library/libraries/": { - "get": "admin_get_libraries" - }, - "/api/v1/manage/library/libraries/{uuid}/": { - "get": "admin_get_library", - "put": "admin_update_library", - "patch": "admin_partial_update_library", - "delete": "admin_delete_library" - }, - "/api/v1/manage/library/libraries/{uuid}/stats/": { - "get": "admin_get_library_stats" - }, - "/api/v1/manage/library/libraries/action/": { - "post": "admin_create_library_action" - }, - "/api/v1/manage/library/tracks/": { - "get": "admin_get_tracks" - }, - "/api/v1/manage/library/tracks/{id}/": { - "get": "admin_get_track", - "delete": "admin_delete_track" - }, - "/api/v1/manage/library/tracks/{id}/stats/": { - "get": "admin_get_track_stats" - }, - "/api/v1/manage/library/tracks/action/": { - "post": "admin_create_track_action" - }, - "/api/v1/manage/library/uploads/": { - "get": "admin_get_uploads" - }, - "/api/v1/manage/library/uploads/{uuid}/": { - "get": "admin_get_upload", - "delete": "admin_delete_upload" - }, - "/api/v1/manage/library/uploads/action/": { - "post": "admin_create_upload_action" - }, - "/api/v1/manage/moderation/instance-policies/": { - "get": "moderation_get_instance_policies", - "post": "moderation_create_instance_policy" - }, - "/api/v1/manage/moderation/instance-policies/{id}/": { - "get": "moderation_get_instance_policy", - "put": "moderation_update_instance_policy", - "patch": "moderation_partial_update_instance_policy", - "delete": "moderation_delete_instance_policy" - }, - "/api/v1/manage/moderation/notes/": { - "get": "moderation_get_notes", - "post": "moderation_create_note" - }, - "/api/v1/manage/moderation/notes/{uuid}/": { - "get": "moderation_get_note", - "delete": "moderation_delete_note" - }, - "/api/v1/manage/moderation/reports/": { - "get": "moderation_get_reports" - }, - "/api/v1/manage/moderation/reports/{uuid}/": { - "get": "moderation_get_report", - "put": "moderation_update_report", - "patch": "moderation_partial_update_report" - }, - "/api/v1/manage/moderation/requests/": { - "get": "moderation_get_requests" - }, - "/api/v1/manage/moderation/requests/{uuid}/": { - "get": "moderation_get_request", - "put": "moderation_update_request", - "patch": "moderation_partial_update_request" - }, - "/api/v1/manage/tags/": { - "get": "admin_get_tags", - "post": "admin_create_tag" - }, - "/api/v1/manage/tags/{name}/": { - "get": "admin_get_tag", - "delete": "admin_delete_tag" - }, - "/api/v1/manage/tags/action/": { - "post": "admin_create_tag_action" - }, - "/api/v1/manage/users/invitations/": { - "get": "admin_get_invitations", - "post": "admin_create_invitation" - }, - "/api/v1/manage/users/invitations/{id}/": { - "get": "admin_get_invitation", - "put": "admin_update_invitation", - "patch": "admin_partial_update_invitation" - }, - "/api/v1/manage/users/invitations/action/": { - "post": "admin_create_invitation_action" - }, - "/api/v1/manage/users/users/": { - "get": "admin_get_users" - }, - "/api/v1/manage/users/users/{id}/": { - "get": "admin_get_user", - "put": "admin_update_user", - "patch": "admin_partial_update_user" - }, - "/api/v1/moderation/content-filters/": { - "get": "get_moderation_content_filters", - "post": "create_moderation_content_filter" - }, - "/api/v1/moderation/content-filters/{uuid}/": { - "get": "get_moderation_content_filter", - "delete": "delete_moderation_content_filter" - }, - "/api/v1/moderation/reports/": { - "post": "create_moderation_report" - }, - "/api/v1/mutations/": { - "get": "get_mutations" - }, - "/api/v1/mutations/{uuid}/": { - "get": "get_mutation", - "delete": "delete_mutation" - }, - "/api/v1/mutations/{uuid}/approve/": { - "post": "approve_mutation" - }, - "/api/v1/mutations/{uuid}/reject/": { - "post": "reject_mutation" - }, - "/api/v1/oauth/apps/": { - "get": "get_oauth_apps", - "post": "create_oauth_app" - }, - "/api/v1/oauth/apps/{client_id}/": { - "get": "get_oauth_app", - "put": "update_oauth_app", - "patch": "partial_update_oauth_app", - "delete": "delete_oauth_app" - }, - "/api/v1/oauth/apps/{client_id}/refresh-token/": { - "post": "refresh_oauth_token" - }, - "/api/v1/oauth/authorize/": { - "get": "get_oauth_authorize", - "post": "create_oauth_authorize", - "put": "update_oauth_authorize" - }, - "/api/v1/oauth/grants/": { - "get": "get_oauth_grants" - }, - "/api/v1/oauth/grants/{client_id}/": { - "get": "get_oauth_grant", - "delete": "delete_oauth_grant" - }, - "/api/v1/oembed/": { - "get": "get_oembed" - }, - "/api/v1/playlists/": { - "get": "get_playlists", - "post": "create_playlist" - }, - "/api/v1/playlists/{id}/": { - "get": "get_playlist", - "put": "update_playlist", - "patch": "partial_update_playlist", - "delete": "delete_playlist" - }, - "/api/v1/playlists/{id}/add/": { - "post": "add_to_playlist" - }, - "/api/v1/playlists/{id}/clear/": { - "delete": "clear_playlist" - }, - "/api/v1/playlists/{id}/move/": { - "post": "reorder_track_in_playlist" - }, - "/api/v1/playlists/{id}/remove/": { - "post": "remove_from_playlist_2", - "delete": "remove_from_playlist" - }, - "/api/v1/playlists/{id}/tracks/": { - "get": "get_playlist_tracks" - }, - "/api/v1/plugins/": { - "get": "get_plugins", - "post": "create_plugin" - }, - "/api/v1/plugins/{id}/": { - "get": "get_plugin" - }, - "/api/v1/plugins/{id}/disable/": { - "post": "disable_plugin" - }, - "/api/v1/plugins/{id}/enable/": { - "post": "enable_plugin" - }, - "/api/v1/plugins/{id}/scan/": { - "post": "create_plugin_scan" - }, - "/api/v1/radios/radios/": { - "get": "get_radio_radios", - "post": "create_radio_radio" - }, - "/api/v1/radios/radios/{id}/": { - "get": "get_radio_radio", - "put": "update_radio_radio", - "patch": "partial_update_radio_radio", - "delete": "delete_radio_radio" - }, - "/api/v1/radios/radios/{id}/tracks/": { - "get": "get_radio_track" - }, - "/api/v1/radios/radios/filters/": { - "get": "get_radio_filter" - }, - "/api/v1/radios/radios/validate/": { - "post": "validate_radio" - }, - "/api/v1/radios/sessions/": { - "post": "create_radio_session" - }, - "/api/v1/radios/sessions/{id}/": { - "get": "get_radio_session" - }, - "/api/v1/radios/tracks/": { - "post": "get_next_radio_track" - }, - "/api/v1/rate-limit/": { - "get": "get_rate_limit" - }, - "/api/v1/search": { - "get": "get_search_results" - }, - "/api/v1/stream/{uuid}/": { - "get": "get_stream" - }, - "/api/v1/subscriptions/": { - "get": "get_subscriptions" - }, - "/api/v1/subscriptions/{uuid}/": { - "get": "get_subscription" - }, - "/api/v1/subscriptions/all/": { - "get": "get_all_subscriptions" - }, - "/api/v1/tags/": { - "get": "get_tags" - }, - "/api/v1/tags/{name}/": { - "get": "get_tag" - }, - "/api/v1/text-preview/": { - "post": "preview_text" - }, - "/api/v1/tracks/": { - "get": "get_tracks" - }, - "/api/v1/tracks/{id}/": { - "get": "get_track", - "delete": "delete_track" - }, - "/api/v1/tracks/{id}/fetches/": { - "get": "get_track_fetches", - "post": "create_track_fetch" - }, - "/api/v1/tracks/{id}/libraries/": { - "get": "get_track_libraries" - }, - "/api/v1/tracks/{id}/mutations/": { - "get": "get_track_mutations", - "post": "create_track_mutation" - }, - "/api/v1/uploads/": { - "get": "get_uploads", - "post": "create_upload" - }, - "/api/v1/uploads/{uuid}/": { - "get": "get_upload", - "put": "update_upload", - "patch": "partial_update_upload", - "delete": "delete_upload" - }, - "/api/v1/uploads/{uuid}/audio-file-metadata/": { - "get": "get_upload_metadata" - }, - "/api/v1/uploads/action/": { - "post": "create_upload_action" - }, - "/api/v1/users/{username}/": { - "put": "update_user", - "patch": "partial_update_user" - }, - "/api/v1/users/{username}/subsonic-token/": { - "get": "get_user_subsonic_token", - "post": "create_user_subsonic_token", - "delete": "delete_user_subsonic_token" - }, - "/api/v1/users/change-email/": { - "post": "change_email" - }, - "/api/v1/users/me/": { - "get": "get_authenticated_user", - "delete": "delete_authenticated_user" - }, - "/api/v1/users/settings/": { - "post": "update_settings" - } -} diff --git a/api/schema.yml b/api/schema.yml deleted file mode 100644 index a2da38040..000000000 --- a/api/schema.yml +++ /dev/null @@ -1,13390 +0,0 @@ -openapi: 3.0.3 -info: - title: Funkwhale API - version: 1.2.8 - description: "Interactive documentation for [Funkwhale](https://funkwhale.audio)\ - \ API.\n\nBackward compatibility between minor versions (1.X to 1.Y) is guaranteed\ - \ for all the\nendpoints documented here.\n\nUsage\n-----\n\nClick on an endpoint\ - \ name to inspect its properties, parameters and responses.\n\nUse the \"Try it\ - \ out\" button to send a real world payload to the endpoint and inspect\nthe corresponding\ - \ response.\n\nOAuth Authentication\n--------------------\n\nYou can register\ - \ your own OAuth app using the `/api/v1/oauth/apps/` endpoint. Proceed to the\ - \ standard OAuth flow afterwards:\n\n- Our authorize URL is at `/authorize`\n\ - - Our token acquisition and refresh URL is at `/api/v1/oauth/token`\n- The list\ - \ of supported scopes is available by clicking the `Authorize` button in the Swagger\ - \ UI documentation\n- Use `urn:ietf:wg:oauth:2.0:oob` as your redirect URI if\ - \ you want the user to get a copy-pastable authorization code\n- At the moment,\ - \ endpoints that deal with admin or moderator-level content are not accessible\ - \ via OAuth, only through the Web UI\n\nYou can use our demo server at `https://demo.funkwhale.audio`\ - \ for testing purposes.\n\nApplication token authentication\n--------------------------------\n\ - \nIf using OAuth isn't practical and you have an account on the Funkwhale pod,\ - \ you can create an application by visiting `/settings`.\n\nOnce the application\ - \ is created, you can authenticate using its access token in the `Authorization`\ - \ header, like this: `Authorization: Bearer `. \n\nRate limiting\n-------------\n\ - \nDepending on server configuration, pods running Funkwhale 0.20 and higher may\ - \ rate-limit incoming\nrequests to prevent abuse and improve the stability of\ - \ service. Requests that are dropped because of rate-limiting\nreceive a 429 HTTP\ - \ response.\n\nThe limits themselves vary depending on:\n\n- The client: anonymous\ - \ requests are subject to lower limits than authenticated requests\n- The operation\ - \ being performed: Write and delete operations, as performed with DELETE, POST,\ - \ PUT and PATCH HTTP methods are subject to lower limits\n\nThose conditions are\ - \ used to determine the scope of the request, which in turns determine the limit\ - \ that is applied.\nFor instance, authenticated POST requests are bound to the\ - \ `authenticated-create` scope, with a default limit of\n1000 requests/hour, but\ - \ anonymous POST requests are bound to the `anonymous-create` scope, with a lower\ - \ limit of 1000 requests/day.\n\nA full list of scopes with their corresponding\ - \ description, and the current usage data for the client performing the request\n\ - is available via the `/api/v1/rate-limit` endpoint.\n\nAdditionally, we include\ - \ HTTP headers on all API response to ensure API clients can understand:\n\n-\ - \ what scope was bound to a given request\n- what is the corresponding limit\n\ - - how much similar requests can be sent before being limited\n- and how much time\ - \ they should wait if they have been limited\n\n\n\n\n\n\n\n\n\n\n\n\ - \n\n\ - \n\n\n\n\n\ - \n\n\n\n\n\n\n\n\ - \n\n\n\n\n\n\n\ - \n\n\n\n\n\n\n\n\ - \n\n\n\n
Rate limiting\ - \ headers
HeaderExample valueDescription\ - \ value
X-RateLimit-Limit50The number of allowed requests whithin a given period
X-RateLimit-Duration3600The\ - \ time window, in seconds, during which those requests are accounted for.
X-RateLimit-ScopeloginThe\ - \ name of the scope as computed for the request
X-RateLimit-Remaining42How many requests can be sent with the same scope before the\ - \ limit applies
Retry-After (if X-RateLimit-Remaining\ - \ is 0)3543How many seconds to wait before a retry
X-RateLimit-Reset1568126089A\ - \ timestamp indicating when X-RateLimit-Remaining will return to\ - \ its higher possible value
X-RateLimit-ResetSeconds3599How many seconds to wait before X-RateLimit-Remaining\ - \ returns to its higher possible value
\n\n\nResources\n\ - ---------\n\nFor more targeted guides regarding API usage, and especially authentication,\ - \ please\nrefer to [https://docs.funkwhale.audio/api.html](https://docs.funkwhale.audio/api.html)\n" -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: integer - - in: query - name: channel - schema: - type: string - - in: query - name: content_category - schema: - type: string - - 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__modification_date - - -creation_date - - -random - - -related - - -release_date - - -title - - artist__modification_date - - creation_date - - random - - related - - release_date - - title - description: Ordering - 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/AlbumCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AlbumCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/AlbumCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/AlbumCreate' - 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: integer - - in: query - name: channel - schema: - type: string - - in: query - name: content_category - schema: - type: string - - 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__modification_date - - -creation_date - - -random - - -related - - -release_date - - -title - - artist__modification_date - - creation_date - - random - - related - - release_date - - title - description: Ordering - 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/Album' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Album' - multipart/form-data: - schema: - $ref: '#/components/schemas/Album' - application/activity+json: - schema: - $ref: '#/components/schemas/Album' - 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: integer - - in: query - name: channel - schema: - type: string - - in: query - name: content_category - schema: - type: string - - 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__modification_date - - -creation_date - - -random - - -related - - -release_date - - -title - - artist__modification_date - - creation_date - - random - - related - - release_date - - title - description: Ordering - 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: integer - - in: query - name: channel - schema: - type: string - - in: query - name: content_category - schema: - type: string - - 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__modification_date - - -creation_date - - -random - - -related - - -release_date - - -title - - artist__modification_date - - creation_date - - random - - related - - release_date - - title - description: Ordering - 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/Album' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Album' - multipart/form-data: - schema: - $ref: '#/components/schemas/Album' - application/activity+json: - schema: - $ref: '#/components/schemas/Album' - 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: 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 - 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: 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 - 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/ArtistWithAlbums' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - multipart/form-data: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - application/activity+json: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - 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_library - 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}/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: 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 - 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/ArtistWithAlbums' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - multipart/form-data: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - application/activity+json: - schema: - $ref: '#/components/schemas/ArtistWithAlbums' - 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/Attachment' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Attachment' - multipart/form-data: - schema: - $ref: '#/components/schemas/Attachment' - application/activity+json: - schema: - $ref: '#/components/schemas/Attachment' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/Attachment' - description: '' - /api/v1/attachments/{uuid}/: - get: - operationId: get_attachment - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - attachments - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Attachment' - description: '' - delete: - operationId: delete_attachment - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - attachments - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '204': - description: No response body - /api/v1/attachments/{uuid}/proxy/: - get: - operationId: get_attachment_proxy - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - attachments - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Attachment' - description: '' - /api/v1/auth/password/change/: - post: - operationId: change_password - description: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordChange' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PasswordChange' - multipart/form-data: - schema: - $ref: '#/components/schemas/PasswordChange' - application/activity+json: - schema: - $ref: '#/components/schemas/PasswordChange' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordChange' - description: '' - /api/v1/auth/password/reset/: - post: - operationId: reset_password - description: |- - Calls Django Auth PasswordResetForm save method. - - Accepts the following POST parameters: email - Returns the success/fail message. - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordReset' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PasswordReset' - multipart/form-data: - schema: - $ref: '#/components/schemas/PasswordReset' - application/activity+json: - schema: - $ref: '#/components/schemas/PasswordReset' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - - {} - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordReset' - description: '' - /api/v1/auth/password/reset/confirm/: - post: - operationId: confirm_password_reset - description: |- - Password reset e-mail link is confirmed, therefore - this resets the user's password. - - Accepts the following POST parameters: token, uid, - new_password1, new_password2 - Returns the success/fail message. - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordResetConfirm' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PasswordResetConfirm' - multipart/form-data: - schema: - $ref: '#/components/schemas/PasswordResetConfirm' - application/activity+json: - schema: - $ref: '#/components/schemas/PasswordResetConfirm' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - - {} - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordResetConfirm' - description: '' - /api/v1/auth/registration/: - post: - operationId: register - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Register' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Register' - multipart/form-data: - schema: - $ref: '#/components/schemas/Register' - application/activity+json: - schema: - $ref: '#/components/schemas/Register' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/Register' - description: '' - /api/v1/auth/registration/change-password/: - post: - operationId: change_password_2 - description: |- - Calls Django Auth SetPasswordForm save method. - - Accepts the following POST parameters: new_password1, new_password2 - Returns the success/fail message. - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PasswordChange' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PasswordChange' - multipart/form-data: - schema: - $ref: '#/components/schemas/PasswordChange' - application/activity+json: - schema: - $ref: '#/components/schemas/PasswordChange' - 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 - tags: - - auth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VerifyEmail' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VerifyEmail' - multipart/form-data: - schema: - $ref: '#/components/schemas/VerifyEmail' - application/activity+json: - schema: - $ref: '#/components/schemas/VerifyEmail' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - - {} - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/VerifyEmail' - description: '' - /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/UserDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserDetails' - application/activity+json: - schema: - $ref: '#/components/schemas/UserDetails' - 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/PatchedUserDetails' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedUserDetails' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedUserDetails' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedUserDetails' - 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 - 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/ChannelCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChannelCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ChannelCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/ChannelCreate' - 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/ChannelUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChannelUpdate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ChannelUpdate' - application/activity+json: - schema: - $ref: '#/components/schemas/ChannelUpdate' - 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/PatchedChannelUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedChannelUpdate' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedChannelUpdate' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedChannelUpdate' - 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/ChannelCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChannelCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ChannelCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/ChannelCreate' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ChannelCreate' - 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/ChannelCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChannelCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ChannelCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/ChannelCreate' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ChannelCreate' - description: '' - delete: - operationId: unsubscribe_channel - parameters: - - in: path - name: composite - schema: - type: string - pattern: ^[^/]+$ - required: true - tags: - - channels - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '204': - description: No response body - /api/v1/channels/metadata-choices/: - get: - operationId: get_channel_metadata_choices - tags: - - channels - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Channel' - description: '' - /api/v1/channels/rss-subscribe/: - post: - operationId: subscribe_channel_rss - tags: - - channels - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ChannelCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ChannelCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ChannelCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/ChannelCreate' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ChannelCreate' - 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/UserTrackFavoriteWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - 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/UserTrackFavorite' - description: '' - /api/v1/favorites/tracks/remove/: - post: - operationId: unfavorite_track_2 - tags: - - favorites - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserTrackFavoriteWrite' - 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/FullActor' - 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/Fetch' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Fetch' - multipart/form-data: - schema: - $ref: '#/components/schemas/Fetch' - application/activity+json: - schema: - $ref: '#/components/schemas/Fetch' - 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/LibraryFollow' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryFollow' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryFollow' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryFollow' - 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/LibraryFollow' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryFollow' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryFollow' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryFollow' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryFollow' - description: '' - /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/LibraryFollow' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryFollow' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryFollow' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryFollow' - 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/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/InboxItem' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/InboxItem' - multipart/form-data: - schema: - $ref: '#/components/schemas/InboxItem' - application/activity+json: - schema: - $ref: '#/components/schemas/InboxItem' - 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/PatchedInboxItem' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedInboxItem' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedInboxItem' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedInboxItem' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/InboxItem' - description: '' - /api/v1/federation/inbox/action/: - post: - operationId: create_federation_inbox_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - federation - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/InboxItem' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/InboxItem' - multipart/form-data: - schema: - $ref: '#/components/schemas/InboxItem' - application/activity+json: - schema: - $ref: '#/components/schemas/InboxItem' - 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/Library' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Library' - multipart/form-data: - schema: - $ref: '#/components/schemas/Library' - application/activity+json: - schema: - $ref: '#/components/schemas/Library' - 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/Library' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Library' - multipart/form-data: - schema: - $ref: '#/components/schemas/Library' - application/activity+json: - schema: - $ref: '#/components/schemas/Library' - 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/ListeningWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ListeningWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/ListeningWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/ListeningWrite' - 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/GlobalPreference' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/GlobalPreference' - multipart/form-data: - schema: - $ref: '#/components/schemas/GlobalPreference' - application/activity+json: - schema: - $ref: '#/components/schemas/GlobalPreference' - 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/PatchedGlobalPreference' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedGlobalPreference' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedGlobalPreference' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedGlobalPreference' - 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/GlobalPreference' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/GlobalPreference' - multipart/form-data: - schema: - $ref: '#/components/schemas/GlobalPreference' - application/activity+json: - schema: - $ref: '#/components/schemas/GlobalPreference' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/GlobalPreference' - description: '' - /api/v1/instance/nodeinfo/2.0/: - get: - operationId: get_instance_nodeinfo_2.0 - 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': - description: No response body - /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 - - 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: '' - post: - operationId: create_library - tags: - - libraries - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - 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: '' - put: - operationId: update_library - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - libraries - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - description: '' - patch: - operationId: partial_update_library - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - libraries - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedLibraryForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedLibraryForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedLibraryForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedLibraryForOwner' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - description: '' - delete: - operationId: delete_library - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - libraries - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '204': - description: No response body - /api/v1/libraries/{uuid}/follows/: - get: - operationId: get_library_follow - 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': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - description: '' - post: - operationId: create_library_fs_import - tags: - - libraries - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/LibraryForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/LibraryForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/LibraryForOwner' - description: '' - 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: - application/json: - schema: - $ref: '#/components/schemas/Track' - 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 - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedManageActorList' - description: '' - /api/v1/manage/accounts/{id}/: - get: - operationId: admin_get_account - parameters: - - in: path - name: id - schema: - type: string - pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$ - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageActor' - description: '' - /api/v1/manage/accounts/{id}/stats/: - get: - operationId: admin_get_account_stats - parameters: - - in: path - name: id - schema: - type: string - pattern: ^([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)$ - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageActor' - description: '' - /api/v1/manage/accounts/action/: - post: - operationId: admin_create_account_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageActor' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageActor' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageActor' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageActor' - 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/ManageDomain' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageDomain' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageDomain' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageDomain' - 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/ManageDomainUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageDomainUpdate' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageDomainUpdate' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageDomainUpdate' - 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/PatchedManageDomainUpdate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageDomainUpdate' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageDomainUpdate' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageDomainUpdate' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageDomainUpdate' - description: '' - /api/v1/manage/federation/domains/{name}/nodeinfo/: - get: - operationId: admin_get_federation_domain_nodeinfo - parameters: - - in: path - name: name - schema: - type: string - description: A unique value identifying this domain. - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageDomain' - description: '' - /api/v1/manage/federation/domains/{name}/stats/: - get: - operationId: admin_get_federation_domain_stats - parameters: - - in: path - name: name - schema: - type: string - description: A unique value identifying this domain. - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageDomain' - description: '' - /api/v1/manage/federation/domains/action/: - post: - operationId: admin_create_federation_domain_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageDomain' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageDomain' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageDomain' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageDomain' - 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_library_albums - parameters: - - in: query - name: artist - schema: - type: integer - - 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_library_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_library_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_library_album_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageAlbum' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageAlbum' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageAlbum' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageAlbum' - 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_library_artists - parameters: - - in: query - name: content_category - schema: - type: string - enum: - - music - - other - - podcast - - 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_library_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_library_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_library_artist_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageArtist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageArtist' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageArtist' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageArtist' - 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_library_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 - 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 - - 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_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_library - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageLibrary' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageLibrary' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageLibrary' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageLibrary' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageLibrary' - description: '' - patch: - operationId: admin_partial_update_library_library - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedManageLibrary' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageLibrary' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageLibrary' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageLibrary' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageLibrary' - description: '' - delete: - operationId: admin_delete_library_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_library_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageLibrary' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageLibrary' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageLibrary' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageLibrary' - 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_library_tracks - parameters: - - in: query - name: album - schema: - type: integer - - in: query - name: artist - schema: - type: integer - - 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_library_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_library_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_library_track_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageTrack' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageTrack' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageTrack' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageTrack' - 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_library_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 - - 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 - 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_library_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_library_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_library_upload_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageUpload' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageUpload' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageUpload' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageUpload' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageUpload' - description: '' - /api/v1/manage/moderation/instance-policies/: - get: - operationId: admin_get_moderation_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: admin_create_moderation_instance_policy - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - 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: admin_get_moderation_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: admin_update_moderation_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/ManageInstancePolicy' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - description: '' - patch: - operationId: admin_partial_update_moderation_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/PatchedManageInstancePolicy' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageInstancePolicy' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageInstancePolicy' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageInstancePolicy' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInstancePolicy' - description: '' - delete: - operationId: admin_delete_moderation_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: admin_get_moderation_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: admin_create_moderation_note - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageNote' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageNote' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageNote' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageNote' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageNote' - description: '' - /api/v1/manage/moderation/notes/{uuid}/: - get: - operationId: admin_get_moderation_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: admin_delete_moderation_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: admin_get_moderation_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 - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedManageReportList' - description: '' - /api/v1/manage/moderation/reports/{uuid}/: - get: - operationId: admin_get_moderation_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: admin_update_moderation_report - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageReport' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageReport' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageReport' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageReport' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageReport' - description: '' - patch: - operationId: admin_partial_update_moderation_report - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedManageReport' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageReport' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageReport' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageReport' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageReport' - description: '' - /api/v1/manage/moderation/requests/: - get: - operationId: admin_get_moderation_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 - - in: query - name: type - schema: - type: string - enum: - - signup - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedManageUserRequestList' - description: '' - /api/v1/manage/moderation/requests/{uuid}/: - get: - operationId: admin_get_moderation_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: admin_update_moderation_request - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - 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' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageUserRequest' - description: '' - patch: - operationId: admin_partial_update_moderation_request - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - 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/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/ManageTag' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageTag' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageTag' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageTag' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageTag' - description: '' - /api/v1/manage/tags/{name}/: - get: - operationId: admin_get_tag - parameters: - - in: path - name: name - schema: - type: string - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageTag' - description: '' - delete: - operationId: admin_delete_tag - parameters: - - in: path - name: name - schema: - type: string - required: true - tags: - - manage - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '204': - description: No response body - /api/v1/manage/tags/action/: - post: - operationId: admin_create_tag_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageTag' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageTag' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageTag' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageTag' - 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_user_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_user_invitation - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageInvitation' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageInvitation' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageInvitation' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - description: '' - /api/v1/manage/users/invitations/{id}/: - get: - operationId: admin_get_user_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_user_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/ManageInvitation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageInvitation' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageInvitation' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageInvitation' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - description: '' - patch: - operationId: admin_partial_update_user_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/PatchedManageInvitation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageInvitation' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageInvitation' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageInvitation' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - description: '' - /api/v1/manage/users/invitations/action/: - post: - operationId: admin_create_user_invitation_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - manage - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageInvitation' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageInvitation' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageInvitation' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageInvitation' - description: '' - /api/v1/manage/users/users/: - get: - operationId: admin_get_user_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 - - 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_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_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/ManageUser' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ManageUser' - multipart/form-data: - schema: - $ref: '#/components/schemas/ManageUser' - application/activity+json: - schema: - $ref: '#/components/schemas/ManageUser' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ManageUser' - description: '' - patch: - operationId: admin_partial_update_user_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/PatchedManageUser' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedManageUser' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedManageUser' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedManageUser' - 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/UserFilter' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserFilter' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserFilter' - application/activity+json: - schema: - $ref: '#/components/schemas/UserFilter' - 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/Report' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Report' - multipart/form-data: - schema: - $ref: '#/components/schemas/Report' - application/activity+json: - schema: - $ref: '#/components/schemas/Report' - 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 - nullable: true - enum: - - '0' - - '1' - - false - - 'False' - - None - - 'Null' - - true - - 'True' - - 'false' - - 'no' - - none - - 'null' - - 'true' - - 'yes' - - 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: create_mutation_approve - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - mutations - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/APIMutation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/APIMutation' - multipart/form-data: - schema: - $ref: '#/components/schemas/APIMutation' - application/activity+json: - schema: - $ref: '#/components/schemas/APIMutation' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/APIMutation' - description: '' - /api/v1/mutations/{uuid}/reject/: - post: - operationId: create_mutation_reject - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - mutations - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/APIMutation' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/APIMutation' - multipart/form-data: - schema: - $ref: '#/components/schemas/APIMutation' - application/activity+json: - schema: - $ref: '#/components/schemas/APIMutation' - 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/CreateApplication' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CreateApplication' - multipart/form-data: - schema: - $ref: '#/components/schemas/CreateApplication' - application/activity+json: - schema: - $ref: '#/components/schemas/CreateApplication' - 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/Application' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Application' - multipart/form-data: - schema: - $ref: '#/components/schemas/Application' - application/activity+json: - schema: - $ref: '#/components/schemas/Application' - 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/PatchedApplication' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedApplication' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedApplication' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedApplication' - 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: create_oauth_app_refresh_token - parameters: - - in: path - name: client_id - schema: - type: string - required: true - tags: - - oauth - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateApplication' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CreateApplication' - multipart/form-data: - schema: - $ref: '#/components/schemas/CreateApplication' - application/activity+json: - schema: - $ref: '#/components/schemas/CreateApplication' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/CreateApplication' - description: '' - /api/v1/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/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': - description: No response body - /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: 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' - description: '' - post: - operationId: create_playlist - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Playlist' - multipart/form-data: - schema: - $ref: '#/components/schemas/Playlist' - application/activity+json: - schema: - $ref: '#/components/schemas/Playlist' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - /api/v1/playlists/{id}/: - get: - operationId: get_playlist - parameters: - - 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' - description: '' - put: - operationId: update_playlist - parameters: - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this playlist. - required: true - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Playlist' - multipart/form-data: - schema: - $ref: '#/components/schemas/Playlist' - application/activity+json: - schema: - $ref: '#/components/schemas/Playlist' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - patch: - operationId: partial_update_playlist - parameters: - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this playlist. - required: true - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedPlaylist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedPlaylist' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedPlaylist' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedPlaylist' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - delete: - operationId: delete_playlist - parameters: - - 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: create_playlist_add - parameters: - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this playlist. - required: true - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Playlist' - multipart/form-data: - schema: - $ref: '#/components/schemas/Playlist' - application/activity+json: - schema: - $ref: '#/components/schemas/Playlist' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - /api/v1/playlists/{id}/clear/: - delete: - operationId: delete_playlist_clear - parameters: - - 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: create_playlist_move - parameters: - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this playlist. - required: true - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Playlist' - multipart/form-data: - schema: - $ref: '#/components/schemas/Playlist' - application/activity+json: - schema: - $ref: '#/components/schemas/Playlist' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - /api/v1/playlists/{id}/remove/: - post: - operationId: create_playlist_remove - parameters: - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this playlist. - required: true - tags: - - playlists - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Playlist' - multipart/form-data: - schema: - $ref: '#/components/schemas/Playlist' - application/activity+json: - schema: - $ref: '#/components/schemas/Playlist' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Playlist' - description: '' - delete: - operationId: delete_playlist_remove - parameters: - - 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_track - parameters: - - 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' - 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: create_plugin_disable - 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: create_plugin_enable - 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_radio_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_radio - tags: - - radios - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Radio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Radio' - multipart/form-data: - schema: - $ref: '#/components/schemas/Radio' - application/activity+json: - schema: - $ref: '#/components/schemas/Radio' - 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_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_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/Radio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Radio' - multipart/form-data: - schema: - $ref: '#/components/schemas/Radio' - application/activity+json: - schema: - $ref: '#/components/schemas/Radio' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Radio' - description: '' - patch: - operationId: partial_update_radio_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/PatchedRadio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedRadio' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedRadio' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedRadio' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Radio' - description: '' - delete: - operationId: delete_radio_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_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/Radio' - description: '' - /api/v1/radios/radios/filters/: - get: - operationId: get_radio_radio_filter - tags: - - radios - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Radio' - description: '' - /api/v1/radios/radios/validate/: - post: - operationId: create_radio_radio_validate - tags: - - radios - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Radio' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Radio' - multipart/form-data: - schema: - $ref: '#/components/schemas/Radio' - application/activity+json: - schema: - $ref: '#/components/schemas/Radio' - 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/RadioSession' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RadioSession' - multipart/form-data: - schema: - $ref: '#/components/schemas/RadioSession' - application/activity+json: - schema: - $ref: '#/components/schemas/RadioSession' - 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: create_radio_track - tags: - - radios - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RadioSessionTrackSerializerCreate' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/RadioSessionTrackSerializerCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/RadioSessionTrackSerializerCreate' - application/activity+json: - schema: - $ref: '#/components/schemas/RadioSessionTrackSerializerCreate' - 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 - tags: - - search - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - description: No response body - /api/v1/stream/{uuid}/: - get: - operationId: get_stream - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - stream - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - audio/mpeg: - schema: - $ref: '#/components/schemas/Track' - 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_subscription_all - 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/Subscription' - description: '' - /api/v1/tags/: - get: - operationId: get_tags - parameters: - - in: query - name: name - schema: - type: string - - in: query - name: name__startswith - schema: - type: string - - in: query - name: ordering - schema: - type: array - items: - type: string - enum: - - -creation_date - - -length - - -name - - creation_date - - length - - name - description: Ordering - 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: create_text_preview - tags: - - text-preview - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - description: No response body - /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: 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__modification_date - - -artist__name - - -creation_date - - -disc_number - - -position - - -random - - -related - - -size - - -title - - album__release_date - - album__title - - artist__modification_date - - artist__name - - creation_date - - disc_number - - position - - random - - related - - size - - title - description: Ordering - 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 - - 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: hidden - schema: - type: boolean - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this track. - required: true - - 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__modification_date - - -artist__name - - -creation_date - - -disc_number - - -position - - -random - - -related - - -size - - -title - - album__release_date - - album__title - - artist__modification_date - - artist__name - - creation_date - - disc_number - - position - - random - - related - - size - - title - description: Ordering - 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 - - 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/Track' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Track' - multipart/form-data: - schema: - $ref: '#/components/schemas/Track' - application/activity+json: - schema: - $ref: '#/components/schemas/Track' - 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_library - 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: '' - /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: hidden - schema: - type: boolean - - in: path - name: id - schema: - type: integer - description: A unique integer value identifying this track. - required: true - - 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__modification_date - - -artist__name - - -creation_date - - -disc_number - - -position - - -random - - -related - - -size - - -title - - album__release_date - - album__title - - artist__modification_date - - artist__name - - creation_date - - disc_number - - position - - random - - related - - size - - title - description: Ordering - 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 - - 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/Track' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/Track' - multipart/form-data: - schema: - $ref: '#/components/schemas/Track' - application/activity+json: - schema: - $ref: '#/components/schemas/Track' - 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 - 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/UploadForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UploadForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/UploadForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/UploadForOwner' - 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/UploadForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UploadForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/UploadForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/UploadForOwner' - 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/PatchedUploadForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedUploadForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedUploadForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedUploadForOwner' - 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_audio_file_metadatum - 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: '' - /api/v1/uploads/action/: - post: - operationId: create_upload_action - description: |- - str(object='') -> str - str(bytes_or_buffer[, encoding[, errors]]) -> str - - Create a new string object from the given object. If encoding or - errors is specified, then the object must expose a data buffer - that will be decoded using the given encoding and error handler. - Otherwise, returns the result of object.__str__() (if defined) - or repr(object). - encoding defaults to sys.getdefaultencoding(). - errors defaults to 'strict'. - tags: - - uploads - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UploadForOwner' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UploadForOwner' - multipart/form-data: - schema: - $ref: '#/components/schemas/UploadForOwner' - application/activity+json: - schema: - $ref: '#/components/schemas/UploadForOwner' - 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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - 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/PatchedUserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - 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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - 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: create_user_change_email - tags: - - users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - /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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - /api/v1/users/users/{username}/: - put: - operationId: update_user_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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - patch: - operationId: partial_update_user_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/PatchedUserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/PatchedUserWrite' - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - /api/v1/users/users/{username}/subsonic-token/: - get: - operationId: get_user_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_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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - delete: - operationId: delete_user_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/users/change-email/: - post: - operationId: create_user_user_change_email - tags: - - users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - required: true - security: - - oauth2: [] - - ApplicationToken: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/UserWrite' - description: '' - /api/v1/users/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/v1/users/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/UserWrite' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/UserWrite' - multipart/form-data: - schema: - $ref: '#/components/schemas/UserWrite' - application/activity+json: - schema: - $ref: '#/components/schemas/UserWrite' - 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 - 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: - type: object - additionalProperties: {} - previous_state: - type: object - additionalProperties: {} - 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 - Activity: - type: object - properties: - uuid: - type: string - format: uuid - fid: - type: string - format: uri - nullable: true - maxLength: 500 - actor: - $ref: '#/components/schemas/APIActor' - payload: - type: object - additionalProperties: {} - object: - type: object - additionalProperties: {} - readOnly: true - target: - type: object - additionalProperties: {} - readOnly: 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 - Album: - type: object - properties: - cover: - $ref: '#/components/schemas/CoverField' - artist: - $ref: '#/components/schemas/SimpleArtist' - 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 - required: - - artist - - attributed_to - - cover - - creation_date - - duration - - fid - - id - - is_local - - is_playable - - mbid - - release_date - - tags - - title - - tracks_count - AlbumCreate: - type: object - properties: - cover: - type: string - writeOnly: true - nullable: true - 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: - type: string - required: - - artist - - title - 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 - ArtistAlbum: - type: object - properties: - cover: - $ref: '#/components/schemas/CoverField' - tracks_count: - type: integer - readOnly: true - is_playable: - type: boolean - readOnly: true - is_local: - type: boolean - id: - type: integer - fid: - type: string - format: uri - mbid: - type: string - format: uuid - title: - type: string - artist: - type: integer - readOnly: true - release_date: - type: string - format: date - creation_date: - type: string - format: date-time - required: - - artist - - cover - - creation_date - - fid - - id - - is_local - - is_playable - - mbid - - release_date - - title - - tracks_count - ArtistWithAlbums: - type: object - properties: - cover: - $ref: '#/components/schemas/CoverField' - albums: - type: array - items: - $ref: '#/components/schemas/ArtistAlbum' - tags: - type: array - items: - type: string - readOnly: true - attributed_to: - $ref: '#/components/schemas/APIActor' - channel: - type: object - additionalProperties: {} - readOnly: 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 - required: - - albums - - attributed_to - - channel - - content_category - - cover - - creation_date - - fid - - id - - is_local - - mbid - - name - - tags - - tracks_count - 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 - file: - type: string - format: uri - writeOnly: true - urls: - type: object - additionalProperties: {} - readOnly: true - required: - - creation_date - - file - - mimetype - - size - - urls - - uuid - Channel: - type: object - properties: - uuid: - type: string - format: uuid - artist: - $ref: '#/components/schemas/SimpleArtist' - attributed_to: - $ref: '#/components/schemas/APIActor' - actor: - allOf: - - $ref: '#/components/schemas/APIActor' - readOnly: true - creation_date: - type: string - format: date-time - metadata: - type: object - additionalProperties: {} - rss_url: - type: string - url: - type: string - format: uri - readOnly: true - downloads_count: - type: integer - readOnly: true - required: - - actor - - artist - - attributed_to - - downloads_count - - rss_url - - url - ChannelCreate: - type: object - properties: - cover: - type: string - writeOnly: true - nullable: true - name: - type: string - maxLength: 255 - username: - type: string - pattern: ^[\w]+$ - maxLength: 255 - 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 - ChannelUpdate: - type: object - properties: - cover: - type: string - writeOnly: true - nullable: true - name: - type: string - maxLength: 255 - 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 - 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 - ContentTypeEnum: - enum: - - text/html - - text/markdown - - text/plain - type: string - 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 - file: - type: string - format: uri - writeOnly: true - urls: - type: object - additionalProperties: {} - readOnly: true - required: - - creation_date - - file - - mimetype - - size - - urls - - uuid - CreateApplication: - type: object - properties: - client_id: - type: string - readOnly: true - name: - type: string - maxLength: 255 - scopes: - type: string - default: read - client_secret: - type: string - readOnly: true - 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 - - client_secret - - created - - name - - updated - 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 - FederationChoiceEnum: - enum: - - Person - - Tombstone - - Application - - Group - - Organization - - Service - type: string - 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: - type: object - additionalProperties: {} - readOnly: true - creation_date: - type: string - format: date-time - readOnly: true - fetch_date: - type: string - format: date-time - readOnly: true - nullable: true - object: - type: string - writeOnly: true - force: - type: boolean - writeOnly: true - default: false - required: - - actor - - creation_date - - detail - - fetch_date - - id - - object - - status - - url - FetchStatusEnum: - enum: - - pending - - errored - - finished - - skipped - type: string - 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 - Ident: - type: object - properties: - type: - type: string - id: - type: integer - required: - - id - - type - 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 - InboxItemTypeEnum: - enum: - - to - - cc - type: string - 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 - description: - type: string - nullable: true - maxLength: 5000 - 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' - readOnly: true - latest_scan: - allOf: - - $ref: '#/components/schemas/LibraryScan' - readOnly: true - required: - - actor - - fid - - follow - - latest_scan - - 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 - LibraryForOwner: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - fid: - type: string - format: uri - readOnly: true - name: - type: string - maxLength: 100 - description: - type: string - nullable: true - maxLength: 5000 - 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 - LibraryPrivacyLevelEnum: - enum: - - me - - instance - - everyone - type: string - 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 - 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 - user: - allOf: - - $ref: '#/components/schemas/UserBasic' - readOnly: true - track: - allOf: - - $ref: '#/components/schemas/Track' - readOnly: true - creation_date: - type: string - format: date-time - nullable: true - actor: - allOf: - - $ref: '#/components/schemas/APIActor' - readOnly: true - required: - - actor - - id - - track - - user - ListeningWrite: - type: object - properties: - id: - type: integer - readOnly: true - user: - type: integer - nullable: true - track: - type: integer - creation_date: - type: string - format: date-time - nullable: true - required: - - id - - 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: - $ref: '#/components/schemas/ManageUser' - instance_policy: - type: integer - readOnly: true - required: - - creation_date - - domain - - fid - - full_username - - id - - instance_policy - - is_local - - preferred_username - - uploads_count - - 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 - maxLength: 255 - 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: - $ref: '#/components/schemas/ManageNestedArtist' - attributed_to: - $ref: '#/components/schemas/ManageBaseActor' - tags: - type: array - items: - type: string - readOnly: true - required: - - artist - - attributed_to - - cover - - domain - - id - - is_local - - tags - - title - - tracks_count - 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 - maxLength: 255 - 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: - $ref: '#/components/schemas/CoverField' - 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 - 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 - 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 - 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: - type: object - additionalProperties: {} - 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: - type: object - additionalProperties: {} - 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 - 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: - type: object - additionalProperties: {} - 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 - 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 - ManageInvitation: - type: object - properties: - id: - type: integer - readOnly: true - owner: - $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 - 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 - description: - type: string - nullable: true - maxLength: 5000 - 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 - followers_count: - type: integer - readOnly: true - followers_url: - type: string - format: uri - maxLength: 500 - actor: - $ref: '#/components/schemas/ManageBaseActor' - required: - - actor - - creation_date - - domain - - fid - - followers_count - - followers_url - - id - - is_local - - name - - uploads_count - - url - - uuid - 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 - maxLength: 255 - creation_date: - type: string - format: date-time - domain: - type: string - is_local: - type: boolean - readOnly: true - required: - - domain - - id - - is_local - - 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 - description: - type: string - nullable: true - maxLength: 5000 - domain: - type: string - is_local: - type: boolean - readOnly: true - creation_date: - type: string - format: date-time - privacy_level: - $ref: '#/components/schemas/LibraryPrivacyLevelEnum' - followers_url: - type: string - format: uri - maxLength: 500 - actor: - $ref: '#/components/schemas/ManageBaseActor' - required: - - actor - - domain - - fid - - followers_url - - id - - is_local - - 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 - maxLength: 255 - 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 - maxLength: 500 - license: - type: string - nullable: true - required: - - domain - - id - - is_local - - 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: - type: object - additionalProperties: {} - required: - - author - - creation_date - - id - - summary - - target - - uuid - 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: - type: object - additionalProperties: {} - target_state: - type: object - additionalProperties: {} - readOnly: true - nullable: true - is_handled: - type: boolean - assigned_to: - $ref: '#/components/schemas/ManageBaseActor' - target_owner: - $ref: '#/components/schemas/ManageBaseActor' - submitter: - $ref: '#/components/schemas/ManageBaseActor' - submitter_email: - type: string - format: email - readOnly: true - nullable: true - notes: - allOf: - - $ref: '#/components/schemas/ManageBaseNote' - readOnly: true - required: - - assigned_to - - creation_date - - fid - - handled_date - - id - - notes - - submitter - - submitter_email - - summary - - target - - target_owner - - target_state - - type - - uuid - 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 - ManageTarget: - type: object - properties: - type: - $ref: '#/components/schemas/ManageTargetTypeEnum' - id: - type: string - required: - - id - - type - ManageTargetTypeEnum: - enum: - - domain - - actor - type: string - 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 - maxLength: 255 - 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 - maxLength: 500 - license: - type: string - nullable: true - artist: - $ref: '#/components/schemas/ManageNestedArtist' - album: - $ref: '#/components/schemas/ManageTrackAlbum' - attributed_to: - $ref: '#/components/schemas/ManageBaseActor' - uploads_count: - type: integer - readOnly: true - tags: - type: array - items: - type: string - readOnly: true - cover: - $ref: '#/components/schemas/CoverField' - required: - - album - - artist - - 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 - maxLength: 255 - 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: - $ref: '#/components/schemas/ManageNestedArtist' - required: - - artist - - cover - - domain - - id - - is_local - - title - - tracks_count - 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: - type: object - additionalProperties: {} - import_date: - type: string - format: date-time - nullable: true - import_details: - type: object - additionalProperties: {} - import_status: - $ref: '#/components/schemas/ManageUploadImportStatusEnum' - import_metadata: - type: object - additionalProperties: {} - 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 - ManageUploadImportStatusEnum: - enum: - - draft - - pending - - finished - - errored - - skipped - type: string - 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 - privacy_level: - allOf: - - $ref: '#/components/schemas/PrivacyLevelEnum' - readOnly: true - upload_quota: - type: integer - nullable: true - full_username: - type: string - readOnly: true - required: - - actor - - date_joined - - email - - full_username - - id - - last_activity - - privacy_level - - upload_quota - - username - ManageUserRequest: - type: object - properties: - id: - type: integer - readOnly: true - uuid: - type: string - format: uuid - readOnly: true - creation_date: - type: string - format: date-time - readOnly: true - handled_date: - type: string - format: date-time - readOnly: true - nullable: true - type: - $ref: '#/components/schemas/ManageUserRequestTypeEnum' - status: - $ref: '#/components/schemas/ManageUserRequestStatusEnum' - assigned_to: - $ref: '#/components/schemas/ManageBaseActor' - submitter: - $ref: '#/components/schemas/ManageBaseActor' - notes: - allOf: - - $ref: '#/components/schemas/ManageBaseNote' - readOnly: true - metadata: - type: object - additionalProperties: {} - readOnly: true - nullable: true - required: - - assigned_to - - creation_date - - handled_date - - id - - metadata - - notes - - submitter - - type - - uuid - ManageUserRequestStatusEnum: - enum: - - pending - - refused - - approved - type: string - ManageUserRequestTypeEnum: - enum: - - signup - type: string - 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 - Metadata: - type: object - properties: - actorId: - type: string - private: - type: boolean - readOnly: true - shortDescription: - type: string - readOnly: true - longDescription: - type: string - readOnly: true - rules: - type: string - readOnly: true - contactEmail: - type: string - readOnly: true - terms: - type: string - readOnly: true - nodeName: - type: string - readOnly: true - banner: - type: string - readOnly: true - defaultUploadQuota: - type: integer - readOnly: true - library: - type: boolean - readOnly: true - supportedUploadExtensions: - type: array - items: - type: string - allowList: - allOf: - - $ref: '#/components/schemas/AllowListStat' - readOnly: true - reportTypes: - type: array - items: - $ref: '#/components/schemas/ReportType' - funkwhaleSupportMessageEnabled: - type: boolean - readOnly: true - instanceSupportMessage: - type: string - readOnly: true - endpoints: - $ref: '#/components/schemas/Endpoints' - usage: - allOf: - - $ref: '#/components/schemas/MetadataUsage' - readOnly: true - required: - - actorId - - allowList - - banner - - contactEmail - - defaultUploadQuota - - endpoints - - funkwhaleSupportMessageEnabled - - instanceSupportMessage - - library - - longDescription - - nodeName - - private - - reportTypes - - rules - - shortDescription - - supportedUploadExtensions - - terms - - usage - MetadataUsage: - type: object - properties: - favorites: - $ref: '#/components/schemas/MetadataUsageFavorite' - listenings: - $ref: '#/components/schemas/TotalCount' - downloads: - $ref: '#/components/schemas/TotalCount' - required: - - downloads - - favorites - - listenings - MetadataUsageFavorite: - type: object - properties: - tracks: - allOf: - - $ref: '#/components/schemas/TotalCount' - readOnly: true - required: - - tracks - ModerationTarget: - type: object - properties: - type: - $ref: '#/components/schemas/ModerationTargetTypeEnum' - id: - type: string - required: - - id - - type - ModerationTargetTypeEnum: - enum: - - artist - type: string - 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 - 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/Metadata' - readOnly: true - required: - - metadata - - openRegistrations - - protocols - - software - - usage - - version - PaginatedAPIMutationList: - type: object - 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 - 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 - 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 - 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 - 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 - 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 - 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' - PaginatedInboxItemList: - type: object - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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' - PaginatedRadioList: - type: object - 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 - 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 - 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 - 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 - 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 - 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 - 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: - old_password: - type: string - maxLength: 128 - new_password1: - type: string - maxLength: 128 - new_password2: - type: string - maxLength: 128 - required: - - new_password1 - - new_password2 - - old_password - 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 requesting a password reset e-mail. - 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 - PatchedApplication: - 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 - PatchedChannelUpdate: - type: object - properties: - cover: - type: string - writeOnly: true - nullable: true - name: - type: string - maxLength: 255 - 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: {} - PatchedGlobalPreference: - 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 - PatchedInboxItem: - 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 - PatchedLibraryForOwner: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - fid: - type: string - format: uri - readOnly: true - name: - type: string - maxLength: 100 - description: - type: string - nullable: true - maxLength: 5000 - 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 - PatchedManageDomainUpdate: - 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: - type: object - additionalProperties: {} - 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 - PatchedManageInstancePolicy: - 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 - PatchedManageInvitation: - type: object - properties: - id: - type: integer - readOnly: true - owner: - $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' - PatchedManageLibrary: - 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 - description: - type: string - nullable: true - maxLength: 5000 - 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 - followers_count: - type: integer - readOnly: true - followers_url: - type: string - format: uri - maxLength: 500 - actor: - $ref: '#/components/schemas/ManageBaseActor' - PatchedManageReport: - 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: - type: object - additionalProperties: {} - target_state: - type: object - additionalProperties: {} - readOnly: true - nullable: true - is_handled: - type: boolean - assigned_to: - $ref: '#/components/schemas/ManageBaseActor' - target_owner: - $ref: '#/components/schemas/ManageBaseActor' - submitter: - $ref: '#/components/schemas/ManageBaseActor' - submitter_email: - type: string - format: email - readOnly: true - nullable: true - notes: - allOf: - - $ref: '#/components/schemas/ManageBaseNote' - readOnly: true - PatchedManageUser: - 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 - privacy_level: - allOf: - - $ref: '#/components/schemas/PrivacyLevelEnum' - readOnly: true - upload_quota: - type: integer - nullable: true - full_username: - type: string - readOnly: true - PatchedManageUserRequest: - type: object - properties: - id: - type: integer - readOnly: true - uuid: - type: string - format: uuid - readOnly: true - creation_date: - type: string - format: date-time - readOnly: true - handled_date: - type: string - format: date-time - readOnly: true - nullable: true - type: - $ref: '#/components/schemas/ManageUserRequestTypeEnum' - status: - $ref: '#/components/schemas/ManageUserRequestStatusEnum' - assigned_to: - $ref: '#/components/schemas/ManageBaseActor' - submitter: - $ref: '#/components/schemas/ManageBaseActor' - notes: - allOf: - - $ref: '#/components/schemas/ManageBaseNote' - readOnly: true - metadata: - type: object - additionalProperties: {} - readOnly: true - nullable: true - PatchedPlaylist: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 50 - user: - allOf: - - $ref: '#/components/schemas/UserBasic' - 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: uri - readOnly: true - duration: - type: integer - readOnly: true - is_playable: - type: boolean - readOnly: true - actor: - allOf: - - $ref: '#/components/schemas/APIActor' - readOnly: true - PatchedRadio: - 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: - type: object - additionalProperties: {} - description: - type: string - PatchedUploadForOwner: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - filename: - type: string - readOnly: true - 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/UploadForOwnerImportStatusEnum' - default: pending - import_details: - type: object - additionalProperties: {} - readOnly: true - import_metadata: - type: object - additionalProperties: {} - import_reference: - type: string - maxLength: 50 - metadata: - type: object - additionalProperties: {} - readOnly: true - source: - type: string - nullable: true - maxLength: 500 - audio_file: - type: string - format: uri - PatchedUserDetails: - 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 - PatchedUserWrite: - 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/Content' - nullable: true - Playlist: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 50 - user: - allOf: - - $ref: '#/components/schemas/UserBasic' - 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: uri - readOnly: true - duration: - type: integer - readOnly: true - is_playable: - type: boolean - readOnly: true - actor: - allOf: - - $ref: '#/components/schemas/APIActor' - readOnly: true - required: - - actor - - album_covers - - creation_date - - duration - - id - - is_playable - - modification_date - - name - - tracks_count - - user - PrivacyLevelEnum: - enum: - - me - - followers - - instance - - everyone - type: string - 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: - type: object - additionalProperties: {} - description: - type: string - required: - - config - - creation_date - - id - - name - - user - 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: - type: object - additionalProperties: {} - nullable: true - required: - - id - - radio_type - RadioSessionTrackSerializerCreate: - type: object - properties: - session: - type: integer - 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 - password1: - type: string - writeOnly: true - password2: - type: string - writeOnly: true - 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: object - additionalProperties: {} - type: - $ref: '#/components/schemas/ReportTypeEnum' - required: - - creation_date - - handled_date - - is_handled - - target - - type - - uuid - 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 - 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 - Services: - type: object - properties: - inbound: - type: array - items: - type: string - default: [] - outbound: - type: array - items: - type: string - default: [] - SimpleArtist: - 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 - maxLength: 255 - 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: - $ref: '#/components/schemas/Content' - attachment_cover: - $ref: '#/components/schemas/CoverField' - channel: - type: integer - required: - - attachment_cover - - channel - - description - - id - - is_local - - name - Software: - type: object - properties: - name: - type: string - readOnly: true - version: - type: string - required: - - name - - version - 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 - TotalCount: - type: object - properties: - total: - type: integer - readOnly: true - required: - - total - Track: - type: object - properties: - cover: - $ref: '#/components/schemas/CoverField' - artist: - $ref: '#/components/schemas/SimpleArtist' - album: - allOf: - - $ref: '#/components/schemas/TrackAlbum' - readOnly: true - uploads: - type: array - items: - type: object - readOnly: true - listen_url: - type: string - format: uri - readOnly: true - tags: - type: array - items: - type: str - readOnly: true - attributed_to: - $ref: '#/components/schemas/APIActor' - 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 - is_playable: - type: boolean - readOnly: true - required: - - album - - artist - - 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 - maxLength: 255 - artist: - $ref: '#/components/schemas/SimpleArtist' - release_date: - type: string - format: date - nullable: true - cover: - $ref: '#/components/schemas/CoverField' - creation_date: - type: string - format: date-time - is_local: - type: boolean - readOnly: true - tracks_count: - type: integer - readOnly: true - required: - - artist - - cover - - id - - is_local - - title - - tracks_count - UploadForOwner: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - filename: - type: string - readOnly: true - 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/UploadForOwnerImportStatusEnum' - default: pending - import_details: - type: object - additionalProperties: {} - readOnly: true - import_metadata: - type: object - additionalProperties: {} - import_reference: - type: string - maxLength: 50 - metadata: - type: object - additionalProperties: {} - readOnly: true - source: - type: string - nullable: true - maxLength: 500 - audio_file: - type: string - format: uri - required: - - audio_file - - bitrate - - creation_date - - duration - - filename - - import_date - - import_details - - metadata - - mimetype - - size - - uuid - UploadForOwnerImportStatusEnum: - enum: - - draft - - pending - type: string - Usage: - type: object - properties: - users: - $ref: '#/components/schemas/UsersUsage' - 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: - $ref: '#/components/schemas/Attachment' - required: - - avatar - - id - - 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 - 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 - UserTrackFavorite: - type: object - properties: - id: - type: integer - readOnly: true - user: - allOf: - - $ref: '#/components/schemas/UserBasic' - readOnly: true - track: - allOf: - - $ref: '#/components/schemas/Track' - readOnly: true - creation_date: - type: string - format: date-time - actor: - allOf: - - $ref: '#/components/schemas/APIActor' - readOnly: true - required: - - actor - - id - - track - - user - UserTrackFavoriteWrite: - type: object - properties: - id: - type: integer - readOnly: true - track: - type: integer - creation_date: - type: string - format: date-time - required: - - id - - track - UserWrite: - 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/Content' - 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 - VerifyEmail: - type: object - properties: - key: - type: string - required: - - key - securitySchemes: - ApplicationToken: - type: http - scheme: bearer - oauth2: - type: oauth2 - flows: - authorizationCode: - authorizationUrl: /authorize - tokenUrl: /api/v1/oauth/token/ - scopes: - read: '' - read:profile: '' - read:libraries: '' - read:edits: '' - read:follows: '' - read:favorites: '' - read:filters: '' - read:listenings: '' - read:radios: '' - read:playlists: '' - read:notifications: '' - read:security: '' - read:reports: '' - read:plugins: '' - read:instance:settings: '' - read:instance:users: '' - read:instance:invitations: '' - read:instance:edits: '' - read:instance:libraries: '' - read:instance:accounts: '' - read:instance:domains: '' - read:instance:policies: '' - read:instance:reports: '' - read:instance:requests: '' - read:instance:notes: '' - write: '' - write:profile: '' - write:libraries: '' - write:edits: '' - write:follows: '' - write:favorites: '' - write:filters: '' - write:listenings: '' - write:radios: '' - write:playlists: '' - write:notifications: '' - write:security: '' - write:reports: '' - write:plugins: '' - write:instance:settings: '' - write:instance:users: '' - write:instance:invitations: '' - write:instance:edits: '' - write:instance:libraries: '' - write:instance:accounts: '' - write:instance:domains: '' - write:instance:policies: '' - write:instance:reports: '' - write:instance:requests: '' - write:instance:notes: '' -servers: -- url: https://demo.funkwhale.audio - description: Demo Server -- url: https://funkwhale.audio - description: Read server with real content -- url: '{protocol}://{domain}' - description: Custom server - variables: - domain: - default: yourdomain - description: Your Funkwhale Domain - protocol: - enum: - - http - - https - default: https