13391 lines
332 KiB
YAML
13391 lines
332 KiB
YAML
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 <token>`. \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<table>\n<caption>Rate limiting\
|
|
\ headers</caption>\n<thead>\n<th>Header</th>\n<th>Example value</th>\n<th>Description\
|
|
\ value</th>\n</thead>\n<tbody>\n<tr>\n<td><code>X-RateLimit-Limit</code></td>\n\
|
|
<td>50</td>\n<td>The number of allowed requests whithin a given period</td>\n\
|
|
</tr>\n<tr>\n<td><code>X-RateLimit-Duration</code></td>\n<td>3600</td>\n<td>The\
|
|
\ time window, in seconds, during which those requests are accounted for.</td>\n\
|
|
</tr>\n<tr>\n<td><code>X-RateLimit-Scope</code></td>\n<td>login</td>\n<td>The\
|
|
\ name of the scope as computed for the request</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-Remaining</code></td>\n\
|
|
<td>42</td>\n<td>How many requests can be sent with the same scope before the\
|
|
\ limit applies</td>\n</tr>\n<tr>\n<td><code>Retry-After</code> (if <code>X-RateLimit-Remaining</code>\
|
|
\ is 0)</td>\n<td>3543</td>\n<td>How many seconds to wait before a retry</td>\n\
|
|
</tr>\n<tr>\n<td><code>X-RateLimit-Reset</code></td>\n<td>1568126089</td>\n<td>A\
|
|
\ timestamp indicating when <code>X-RateLimit-Remaining</code> will return to\
|
|
\ its higher possible value</td>\n</tr>\n<tr>\n<td><code>X-RateLimit-ResetSeconds</code></td>\n\
|
|
<td>3599</td>\n<td>How many seconds to wait before <code>X-RateLimit-Remaining</code>\
|
|
\ returns to its higher possible value</td>\n</tr>\n</tbody>\n</table>\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
|