Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
funkwhale
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Mélanie Chauvel
funkwhale
Commits
4aabcf8d
Verified
Commit
4aabcf8d
authored
6 years ago
by
Eliot Berriot
Browse files
Options
Downloads
Patches
Plain Diff
Libraries endpoint documentation
parent
65dd21d1
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
docs/swagger.yml
+193
-25
193 additions, 25 deletions
docs/swagger.yml
with
193 additions
and
25 deletions
docs/swagger.yml
+
193
−
25
View file @
4aabcf8d
# Undocumented endpoints:
# /api/v1/settings
# /api/v1/activity
# /api/v1/uploads
# /api/v1/listen
# /api/v1/playlists
# /api/v1/playlist-tracks
# /api/v1/favorites
# /api/v1/search
# /api/v1/radios
# /api/v1/history
# /api/v1/users
openapi
:
"
3.0.0"
info
:
description
:
"
Documentation
for
[Funkwhale](https://funkwhale.audio)
API.
The
API
is
**not**
stable
yet."
...
...
@@ -30,11 +43,21 @@ components:
security
:
-
jwt
:
[]
tags
:
-
name
:
Auth and security
description
:
Login, logout and authorization endpoints
-
name
:
Library and metadata
description
:
Information and metadata about musical and audio entities (albums, tracks, artists, etc.)
-
name
:
Uploads and audio content
description
:
Manipulation and uploading of audio files
externalDocs
:
url
:
https://docs.funkwhale.audio/users/managing.html
paths
:
/token/
:
post
:
tags
:
-
"
auth
"
-
"
Auth
and
security
"
description
:
Obtain a JWT token you can use for authenticating your next requests.
security
:
[]
...
...
@@ -61,7 +84,7 @@ paths:
get
:
summary
:
List artists
tags
:
-
"
artists
"
-
"
Library
and
metadata
"
parameters
:
-
name
:
"
q"
in
:
"
query"
...
...
@@ -106,7 +129,7 @@ paths:
-
$ref
:
"
#/parameters/ObjectId"
tags
:
-
"
artists
"
-
"
Library
and
metadata
"
responses
:
200
:
content
:
...
...
@@ -127,8 +150,7 @@ paths:
-
$ref
:
"
#/parameters/PageSize"
tags
:
-
"
artists"
-
"
libraries"
-
"
Library
and
metadata"
responses
:
200
:
content
:
...
...
@@ -145,7 +167,7 @@ paths:
get
:
summary
:
List albums
tags
:
-
"
albums
"
-
"
Library
and
metadata
"
parameters
:
-
name
:
"
q"
in
:
"
query"
...
...
@@ -198,7 +220,7 @@ paths:
-
$ref
:
"
#/parameters/ObjectId"
tags
:
-
"
albums
"
-
"
Library
and
metadata
"
responses
:
200
:
content
:
...
...
@@ -220,8 +242,7 @@ paths:
-
$ref
:
"
#/parameters/PageSize"
tags
:
-
"
albums"
-
"
libraries"
-
"
Library
and
metadata"
responses
:
200
:
content
:
...
...
@@ -238,7 +259,7 @@ paths:
get
:
summary
:
List tracks
tags
:
-
"
tracks
"
-
"
Library
and
metadata
"
parameters
:
-
name
:
"
q"
in
:
"
query"
...
...
@@ -302,12 +323,12 @@ paths:
$ref
:
"
#/definitions/Track"
/tracks/{id}/
:
get
:
summary
:
Retrieve a single track
parameters
:
-
$ref
:
"
#/parameters/ObjectId"
summary
:
Retrieve a single track
tags
:
-
"
tracks
"
-
"
Library
and
metadata
"
responses
:
200
:
content
:
...
...
@@ -329,8 +350,7 @@ paths:
-
$ref
:
"
#/parameters/PageSize"
tags
:
-
"
tracks"
-
"
libraries"
-
"
Library
and
metadata"
responses
:
200
:
content
:
...
...
@@ -347,7 +367,7 @@ paths:
get
:
summary
:
List licenses
tags
:
-
"
licenses
"
-
"
Library
and
metadata
"
parameters
:
-
$ref
:
"
#/parameters/PageNumber"
-
$ref
:
"
#/parameters/PageSize"
...
...
@@ -366,19 +386,19 @@ paths:
$ref
:
"
#/definitions/License"
/licenses/{code}/
:
parameters
:
-
name
:
code
in
:
path
description
:
License code
required
:
true
schema
:
type
:
string
example
:
cc0-1.0
get
:
summary
:
Retrieve a single license
parameters
:
-
name
:
code
in
:
path
description
:
License code
required
:
true
schema
:
type
:
string
example
:
cc0-1.0
tags
:
-
"
licenses
"
-
"
Library
and
metadata
"
responses
:
200
:
content
:
...
...
@@ -391,6 +411,89 @@ paths:
schema
:
$ref
:
"
#/definitions/ResourceNotFound"
/libraries/
:
get
:
summary
:
List owned libraries
tags
:
-
"
Uploads
and
audio
content"
parameters
:
-
$ref
:
"
#/parameters/PageNumber"
-
$ref
:
"
#/parameters/PageSize"
responses
:
200
:
content
:
application/json
:
schema
:
allOf
:
-
$ref
:
"
#/definitions/ResultPage"
-
type
:
"
object"
properties
:
results
:
type
:
"
array"
items
:
$ref
:
"
#/definitions/OwnedLibrary"
post
:
tags
:
-
"
Uploads
and
audio
content"
description
:
Create a new library
security
:
[]
responses
:
201
:
$ref
:
"
#/responses/201"
400
:
$ref
:
"
#/responses/400"
requestBody
:
required
:
true
content
:
application/json
:
schema
:
$ref
:
"
#/definitions/OwnedLibraryCreate"
/libraries/{uuid}/
:
parameters
:
-
name
:
uuid
in
:
path
required
:
true
schema
:
type
:
"
string"
format
:
"
uuid"
get
:
summary
:
Retrieve a library
tags
:
-
"
Uploads
and
audio
content"
responses
:
200
:
content
:
application/json
:
schema
:
$ref
:
"
#/definitions/OwnedLibrary"
post
:
summary
:
Update a library
tags
:
-
"
Uploads
and
audio
content"
requestBody
:
required
:
true
content
:
application/json
:
schema
:
$ref
:
"
#/definitions/OwnedLibraryCreate"
responses
:
200
:
content
:
application/json
:
schema
:
$ref
:
"
#/definitions/OwnedLibrary"
delete
:
summary
:
Delete a library and all associated uploads
description
:
|
This will delete the library, all associated uploads, follows, and broadcast
the event on the federation.
tags
:
-
"
Uploads
and
audio
content"
responses
:
204
:
$ref
:
"
#/responses/204"
parameters
:
ObjectId
:
...
...
@@ -434,11 +537,35 @@ parameters:
required
:
false
type
:
"
boolean"
responses
:
201
:
description
:
Successfully created
204
:
description
:
Successfully deleted
400
:
description
:
Bad request
properties
:
mbid
:
type
:
"
string"
format
s
:
"
uuid"
format
:
"
uuid"
description
:
"
A
musicbrainz
ID"
creation_date
:
type
:
"
string"
format
:
"
date-time"
privacy_level
:
type
:
string
example
:
"
me"
description
:
"
'me'
means
private,
'instance'
means
viewable
by
local
users,
'everyone'
means
public"
enum
:
-
"
me"
-
"
instance"
-
"
everyone"
fid
:
type
:
"
string"
format
:
"
uri"
description
:
"
Federation
ID"
example
:
"
https://my.instance/federation/music/libraries/3fa85f64-5717-4562-b3fc-2c963f66afa6"
definitions
:
ResultPage
:
...
...
@@ -793,6 +920,47 @@ definitions:
format
:
"
uri"
description
:
"
URL
to
stream
the
upload"
OwnedLibraryCreate
:
type
:
"
object"
properties
:
password
:
type
:
"
name"
example
:
"
My
new
library"
description
:
required
:
false
type
:
"
string"
example
:
"
Lots
of
interesting
content"
privacy_level
:
$ref
:
"
#/properties/privacy_level"
OwnedLibrary
:
type
:
"
object"
properties
:
uuid
:
type
:
string
format
:
uuid
fid
:
$ref
:
"
#/properties/fid"
name
:
type
:
"
string"
example
:
"
My
Creative
Commons
library"
description
:
type
:
"
string"
example
:
"
All
content
is
under
CC-BY"
creation_date
:
$ref
:
"
#/properties/creation_date"
privacy_level
:
$ref
:
"
#/properties/privacy_level"
uploads_count
:
type
:
"
integer"
format
:
"
int64"
example
:
34
size
:
type
:
"
integer"
format
:
"
int64"
example
:
678917000
description
:
"
Total
size
of
uploads
in
the
library,
in
bytes"
ResourceNotFound
:
type
:
"
object"
properties
:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment