DovaFM Documentation
WebsiteAdd Discord Bot
  • Welcome to the DovaFM Documentation!
  • DovaFM Stream
    • Embed Widgets
    • Public Pages
    • Radio & Playlist Streams
  • DovaFM API
    • Now Playing
    • Stations
      • General
      • Broadcasting
      • Song Requests
      • Service Control
      • History
      • HLS Streams
      • Listeners
      • Schedules
      • Media
      • Mount Points
      • Playlists
      • Podcasts
      • Queue
      • Remote Relays
      • SFTP Users
      • Streamers/DJs
      • Web Hooks
    • Administration
      • Custom Fields
      • Users
      • Relays
      • Roles
      • Settings
      • Stations
      • Storage Locations
      • CPU Status
    • Miscellaneous
      • Status
      • Time
  • DovaFM Discord Bot
    • Information
    • Commands
  • DovaFM Staff
    • Staff Members
Powered by GitBook
On this page
  1. DovaFM API
  2. Stations

Playlists

PreviousMount PointsNextPodcasts

Last updated 7 months ago

get

Retrieve details for a single playlist.

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

Playlist ID

Responses
200
Success
application/json
Responseall of
403
Access denied.
application/json
404
Record not found.
application/json
500
A generic exception has occurred.
application/json
get
GET /api/station/{station_id}/playlist/{id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
{
  "id": 1,
  "name": "Test Playlist",
  "type": "default",
  "source": "songs",
  "order": "shuffle",
  "remote_url": "https://remote-url.example.com/stream.mp3",
  "remote_type": "stream",
  "remote_buffer": 0,
  "is_enabled": true,
  "is_jingle": false,
  "play_per_songs": 5,
  "play_per_minutes": 120,
  "play_per_hour_minute": 15,
  "weight": 3,
  "include_in_requests": true,
  "include_in_on_demand": true,
  "backend_options": "interrupt,loop_once,single_track,merge",
  "avoid_duplicates": true,
  "schedule_items": [],
  "podcasts": []
}
delete

Delete a single playlist relay.

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

Playlist ID

Responses
200
Success
application/json
403
Access denied.
application/json
404
Record not found.
application/json
500
A generic exception has occurred.
application/json
delete
DELETE /api/station/{station_id}/playlist/{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/station/{station_id}/playlists
  • POST/station/{station_id}/playlists
  • GET/station/{station_id}/playlist/{id}
  • PUT/station/{station_id}/playlist/{id}
  • DELETE/station/{station_id}/playlist/{id}
get

List all current playlists.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
Responses
200
Success
application/json
Responseall of[]
403
Access denied.
application/json
500
A generic exception has occurred.
application/json
get
GET /api/station/{station_id}/playlists HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Accept: */*
[
  {
    "id": 1,
    "name": "Test Playlist",
    "type": "default",
    "source": "songs",
    "order": "shuffle",
    "remote_url": "https://remote-url.example.com/stream.mp3",
    "remote_type": "stream",
    "remote_buffer": 0,
    "is_enabled": true,
    "is_jingle": false,
    "play_per_songs": 5,
    "play_per_minutes": 120,
    "play_per_hour_minute": 15,
    "weight": 3,
    "include_in_requests": true,
    "include_in_on_demand": true,
    "backend_options": "interrupt,loop_once,single_track,merge",
    "avoid_duplicates": true,
    "schedule_items": [],
    "podcasts": []
  }
]
post

Create a new playlist.

Authorizations
Path parameters
station_idany ofRequired
integer · int64Optional
or
string · stringOptional
Body
all ofOptional
Responses
200
Success
application/json
Responseall of
403
Access denied.
application/json
500
A generic exception has occurred.
application/json
post
POST /api/station/{station_id}/playlists HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 468

{
  "id": 1,
  "name": "Test Playlist",
  "type": "default",
  "source": "songs",
  "order": "shuffle",
  "remote_url": "https://remote-url.example.com/stream.mp3",
  "remote_type": "stream",
  "remote_buffer": 0,
  "is_enabled": true,
  "is_jingle": false,
  "play_per_songs": 5,
  "play_per_minutes": 120,
  "play_per_hour_minute": 15,
  "weight": 3,
  "include_in_requests": true,
  "include_in_on_demand": true,
  "backend_options": "interrupt,loop_once,single_track,merge",
  "avoid_duplicates": true,
  "schedule_items": [],
  "podcasts": []
}
{
  "id": 1,
  "name": "Test Playlist",
  "type": "default",
  "source": "songs",
  "order": "shuffle",
  "remote_url": "https://remote-url.example.com/stream.mp3",
  "remote_type": "stream",
  "remote_buffer": 0,
  "is_enabled": true,
  "is_jingle": false,
  "play_per_songs": 5,
  "play_per_minutes": 120,
  "play_per_hour_minute": 15,
  "weight": 3,
  "include_in_requests": true,
  "include_in_on_demand": true,
  "backend_options": "interrupt,loop_once,single_track,merge",
  "avoid_duplicates": true,
  "schedule_items": [],
  "podcasts": []
}
put

Update details of a single playlist.

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

Playlist ID

Body
all ofOptional
Responses
200
Success
application/json
403
Access denied.
application/json
404
Record not found.
application/json
500
A generic exception has occurred.
application/json
put
PUT /api/station/{station_id}/playlist/{id} HTTP/1.1
Host: listen.dovafm.xyz
X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 468

{
  "id": 1,
  "name": "Test Playlist",
  "type": "default",
  "source": "songs",
  "order": "shuffle",
  "remote_url": "https://remote-url.example.com/stream.mp3",
  "remote_type": "stream",
  "remote_buffer": 0,
  "is_enabled": true,
  "is_jingle": false,
  "play_per_songs": 5,
  "play_per_minutes": 120,
  "play_per_hour_minute": 15,
  "weight": 3,
  "include_in_requests": true,
  "include_in_on_demand": true,
  "backend_options": "interrupt,loop_once,single_track,merge",
  "avoid_duplicates": true,
  "schedule_items": [],
  "podcasts": []
}
{
  "success": true,
  "message": "Changes saved successfully.",
  "formatted_message": "<b>Changes saved successfully.</b>"
}