Media

get

Returns the album art for a song, or a generic image.

Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
media_idstringRequired

The station media unique ID

Responses
200

The requested album artwork

No content

get
GET /api/station/{station_id}/art/{media_id} HTTP/1.1
Host: listen.dovafm.xyz
Accept: */*

No content

post

Sets the album art for a track.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
idany ofRequired

Media ID

integer · int64Optional
or
stringOptional
Responses
200

Success

application/json
post
POST /api/station/{station_id}/art/{media_id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "Changes saved successfully.",
  "formatted_message": "<b>Changes saved successfully.</b>"
}
delete

Removes the album art for a track.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
idany ofRequired

Media ID

integer · int64Optional
or
stringOptional
Responses
200

Success

application/json
delete
DELETE /api/station/{station_id}/art/{media_id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "Changes saved successfully.",
  "formatted_message": "<b>Changes saved successfully.</b>"
}
get

List all current uploaded files.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
Responses
200

Success

application/json
Responseall of[]
get
GET /api/station/{station_id}/files HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
[
  {
    "text": "Chet Porter - Aluko River",
    "artist": "Chet Porter",
    "title": "Aluko River",
    "album": "Moving Castle",
    "genre": "Rock",
    "isrc": "US28E1600021",
    "lyrics": "",
    "links": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "id": 1,
    "unique_id": "69b536afc7ebbf16457b8645",
    "song_id": "9f33bbc912c19603e51be8e0987d076b",
    "art": "https://picsum.photos/1200/1200",
    "path": "test.mp3",
    "mtime": 1609480800,
    "uploaded_at": 1609480800,
    "art_updated_at": 1609480800,
    "length": 240,
    "length_text": "4:00",
    "custom_fields": [
      "custom_field_value"
    ],
    "extra_metadata": [],
    "playlists": []
  }
]
post

Upload a new file.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
Body
pathstringOptional

The destination path of the uploaded file.

Example: relative/path/to/file.mp3
filestringOptional

The base64-encoded contents of the file to upload.

Responses
200

Success

application/json
Responseall of
post
POST /api/station/{station_id}/files HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "path": "relative/path/to/file.mp3",
  "file": ""
}
{
  "text": "Chet Porter - Aluko River",
  "artist": "Chet Porter",
  "title": "Aluko River",
  "album": "Moving Castle",
  "genre": "Rock",
  "isrc": "US28E1600021",
  "lyrics": "",
  "links": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": 1,
  "unique_id": "69b536afc7ebbf16457b8645",
  "song_id": "9f33bbc912c19603e51be8e0987d076b",
  "art": "https://picsum.photos/1200/1200",
  "path": "test.mp3",
  "mtime": 1609480800,
  "uploaded_at": 1609480800,
  "art_updated_at": 1609480800,
  "length": 240,
  "length_text": "4:00",
  "custom_fields": [
    "custom_field_value"
  ],
  "extra_metadata": [],
  "playlists": []
}
get

Retrieve details for a single file.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
idinteger · int64Required

Media ID

Responses
200

Success

application/json
Responseall of
get
GET /api/station/{station_id}/file/{id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "text": "Chet Porter - Aluko River",
  "artist": "Chet Porter",
  "title": "Aluko River",
  "album": "Moving Castle",
  "genre": "Rock",
  "isrc": "US28E1600021",
  "lyrics": "",
  "links": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": 1,
  "unique_id": "69b536afc7ebbf16457b8645",
  "song_id": "9f33bbc912c19603e51be8e0987d076b",
  "art": "https://picsum.photos/1200/1200",
  "path": "test.mp3",
  "mtime": 1609480800,
  "uploaded_at": 1609480800,
  "art_updated_at": 1609480800,
  "length": 240,
  "length_text": "4:00",
  "custom_fields": [
    "custom_field_value"
  ],
  "extra_metadata": [],
  "playlists": []
}
put

Update details of a single file.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
idinteger · int64Required

Media ID

Body
all ofOptional
Responses
200

Success

application/json
put
PUT /api/station/{station_id}/file/{id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 526

{
  "text": "Chet Porter - Aluko River",
  "artist": "Chet Porter",
  "title": "Aluko River",
  "album": "Moving Castle",
  "genre": "Rock",
  "isrc": "US28E1600021",
  "lyrics": "",
  "links": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": 1,
  "unique_id": "69b536afc7ebbf16457b8645",
  "song_id": "9f33bbc912c19603e51be8e0987d076b",
  "art": "https://picsum.photos/1200/1200",
  "path": "test.mp3",
  "mtime": 1609480800,
  "uploaded_at": 1609480800,
  "art_updated_at": 1609480800,
  "length": 240,
  "length_text": "4:00",
  "custom_fields": [
    "custom_field_value"
  ],
  "extra_metadata": [],
  "playlists": []
}
{
  "success": true,
  "message": "Changes saved successfully.",
  "formatted_message": "<b>Changes saved successfully.</b>"
}
delete

Delete a single file.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
idinteger · int64Required

Media ID

Responses
200

Success

application/json
delete
DELETE /api/station/{station_id}/file/{id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "success": true,
  "message": "Changes saved successfully.",
  "formatted_message": "<b>Changes saved successfully.</b>"
}

Last updated