2021-12-29 22:19:34 +01:00
openapi : 3.0 .0
2018-09-18 16:09:48 +02:00
info :
title : AzuraCast
description : 'AzuraCast is a standalone, turnkey web radio management tool. Radio stations hosted by AzuraCast expose a public API for viewing now playing data, making requests and more.'
license :
name : 'Apache 2.0'
2022-06-07 05:54:42 +02:00
url : 'https://www.apache.org/licenses/LICENSE-2.0.html'
version : 0.16 .1
2018-09-18 16:09:48 +02:00
servers :
-
url : 'https://demo.azuracast.com/api'
2018-12-24 09:47:45 +01:00
description : 'AzuraCast Public Demo Server'
2018-09-18 16:09:48 +02:00
paths :
2019-01-29 23:32:32 +01:00
/admin/custom_fields :
get :
tags :
- 'Administration : Custom Fields'
description : 'List all current custom fields in the system.'
2021-12-12 12:01:53 +01:00
operationId : getCustomFields
2019-01-29 23:32:32 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/CustomField'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-29 23:32:32 +01:00
post :
tags :
- 'Administration : Custom Fields'
description : 'Create a new custom field.'
2021-12-12 12:01:53 +01:00
operationId : addCustomField
2019-01-29 23:32:32 +01:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/CustomField'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/CustomField'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-29 23:32:32 +01:00
'/admin/custom_field/{id}' :
get :
tags :
- 'Administration : Custom Fields'
description : 'Retrieve details for a single custom field.'
2021-12-12 12:01:53 +01:00
operationId : getCustomField
2019-01-29 23:32:32 +01:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/CustomField'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-29 23:32:32 +01:00
put :
tags :
- 'Administration : Custom Fields'
description : 'Update details of a single custom field.'
2021-12-12 12:01:53 +01:00
operationId : editCustomField
2019-01-29 23:32:32 +01:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/CustomField'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-29 23:32:32 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-29 23:32:32 +01:00
delete :
tags :
- 'Administration : Custom Fields'
description : 'Delete a single custom field.'
2021-12-12 12:01:53 +01:00
operationId : deleteCustomField
2019-01-29 23:32:32 +01:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-29 23:32:32 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-12 11:52:49 +01:00
ApiKey : [ ]
2019-01-05 13:02:49 +01:00
/admin/permissions :
get :
tags :
- 'Administration : Roles'
description : 'Return a list of all available permissions.'
2021-12-12 12:01:53 +01:00
operationId : getPermissions
2019-01-05 13:02:49 +01:00
responses :
'200' :
description : Success
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-08-16 20:18:14 +02:00
/internal/relays :
2019-07-10 19:45:54 +02:00
get :
tags :
- 'Administration : Relays'
2022-06-07 05:54:42 +02:00
description : "Returns all necessary information to relay all 'relayable' stations."
2021-12-12 12:01:53 +01:00
operationId : internalGetRelayDetails
2019-07-10 19:45:54 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_Admin_Relay'
2019-01-05 13:02:49 +01:00
/admin/roles :
get :
tags :
- 'Administration : Roles'
description : 'List all current roles in the system.'
2021-12-12 12:01:53 +01:00
operationId : getRoles
2019-01-05 13:02:49 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Role'
2022-01-11 05:31:24 +01:00
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-05 13:02:49 +01:00
post :
tags :
- 'Administration : Roles'
description : 'Create a new role.'
2021-12-12 12:01:53 +01:00
operationId : addRole
2019-01-05 13:02:49 +01:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Role'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Role'
2022-01-11 05:31:24 +01:00
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-05 13:02:49 +01:00
'/admin/role/{id}' :
get :
tags :
- 'Administration : Roles'
description : 'Retrieve details for a single current role.'
2021-12-12 12:01:53 +01:00
operationId : getRole
2019-01-05 13:02:49 +01:00
parameters :
-
name : id
in : path
description : 'Role ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Role'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-05 13:02:49 +01:00
put :
tags :
- 'Administration : Roles'
description : 'Update details of a single role.'
2021-12-12 12:01:53 +01:00
operationId : editRole
2019-01-05 13:02:49 +01:00
parameters :
-
name : id
in : path
description : 'Role ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Role'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-05 13:02:49 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-05 13:02:49 +01:00
delete :
tags :
- 'Administration : Roles'
description : 'Delete a single role.'
2021-12-12 12:01:53 +01:00
operationId : deleteRole
2019-01-05 13:02:49 +01:00
parameters :
-
name : id
in : path
description : 'Role ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-05 13:02:49 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-05 13:02:49 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2022-06-07 05:54:42 +02:00
/admin/cpu/stats :
get :
tags :
- 'Administration : CPU stats'
description : 'Return a list of all CPU usage stats.'
operationId : getCpuStats
responses :
'200' :
description : Success
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
2019-01-06 09:57:09 +01:00
/admin/settings :
get :
tags :
- 'Administration : Settings'
description : 'List the current values of all editable system settings.'
2021-12-12 12:01:53 +01:00
operationId : getSettings
2019-01-06 09:57:09 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2020-12-04 16:12:10 +01:00
$ref : '#/components/schemas/Settings'
2019-01-06 09:57:09 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-06 09:57:09 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-06 09:57:09 +01:00
put :
tags :
- 'Administration : Settings'
description : 'Update settings to modify any settings provided.'
2021-12-12 12:01:53 +01:00
operationId : editSettings
2019-01-06 09:57:09 +01:00
requestBody :
content :
application/json :
schema :
2020-12-04 16:12:10 +01:00
$ref : '#/components/schemas/Settings'
2019-01-06 09:57:09 +01:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-06 09:57:09 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-06 09:57:09 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-08 07:09:53 +02:00
/admin/stations :
get :
tags :
- 'Administration : Stations'
description : 'List all current stations in the system.'
2021-12-12 12:01:53 +01:00
operationId : adminGetStations
2019-04-08 07:09:53 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Station'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-08 07:09:53 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-08 07:09:53 +02:00
post :
tags :
- 'Administration : Stations'
description : 'Create a new station.'
2021-12-12 12:01:53 +01:00
operationId : adminAddStation
2019-04-08 07:09:53 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Station'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Station'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-08 07:09:53 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-08 07:09:53 +02:00
'/admin/station/{id}' :
get :
tags :
- 'Administration : Stations'
description : 'Retrieve details for a single station.'
2021-12-12 12:01:53 +01:00
operationId : adminGetStation
2019-04-08 07:09:53 +02:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Station'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-08 07:09:53 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-08 07:09:53 +02:00
put :
tags :
- 'Administration : Stations'
description : 'Update details of a single station.'
2021-12-12 12:01:53 +01:00
operationId : adminEditStation
2019-04-08 07:09:53 +02:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Station'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-08 07:09:53 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-08 07:09:53 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-08 07:09:53 +02:00
delete :
tags :
- 'Administration : Stations'
description : 'Delete a single station.'
2021-12-12 12:01:53 +01:00
operationId : adminDeleteStation
2019-04-08 07:09:53 +02:00
parameters :
-
name : id
in : path
description : ID
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-08 07:09:53 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-08 07:09:53 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2020-11-10 04:06:48 +01:00
/admin/storage_locations :
get :
tags :
- 'Administration : Storage Locations'
description : 'List all current storage locations in the system.'
2021-12-12 12:01:53 +01:00
operationId : getStorageLocations
2020-11-10 04:06:48 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
2020-11-27 09:16:00 +01:00
$ref : '#/components/schemas/Api_Admin_StorageLocation'
2020-11-10 04:06:48 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2020-11-10 04:06:48 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2020-11-10 04:06:48 +01:00
post :
tags :
- 'Administration : Storage Locations'
description : 'Create a new storage location.'
2021-12-12 12:01:53 +01:00
operationId : addStorageLocation
2020-11-10 04:06:48 +01:00
requestBody :
content :
application/json :
schema :
2020-11-27 09:16:00 +01:00
$ref : '#/components/schemas/Api_Admin_StorageLocation'
2020-11-10 04:06:48 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2020-11-27 09:16:00 +01:00
$ref : '#/components/schemas/Api_Admin_StorageLocation'
2020-11-10 04:06:48 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2020-11-10 04:06:48 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2020-11-10 04:06:48 +01:00
'/admin/storage_location/{id}' :
get :
tags :
- 'Administration : Storage Locations'
description : 'Retrieve details for a single storage location.'
2021-12-12 12:01:53 +01:00
operationId : getStorageLocation
2020-11-10 04:06:48 +01:00
parameters :
-
name : id
in : path
description : 'User ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
2020-11-27 09:16:00 +01:00
$ref : '#/components/schemas/Api_Admin_StorageLocation'
2020-11-10 04:06:48 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2020-11-10 04:06:48 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2020-11-10 04:06:48 +01:00
put :
tags :
- 'Administration : Storage Locations'
description : 'Update details of a single storage location.'
2021-12-12 12:01:53 +01:00
operationId : editStorageLocation
2020-11-10 04:06:48 +01:00
parameters :
-
name : id
in : path
description : 'Storage Location ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
2020-11-27 09:16:00 +01:00
$ref : '#/components/schemas/Api_Admin_StorageLocation'
2020-11-10 04:06:48 +01:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2020-11-10 04:06:48 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2020-11-10 04:06:48 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2020-11-10 04:06:48 +01:00
delete :
tags :
- 'Administration : Storage Locations'
description : 'Delete a single storage location.'
2021-12-12 12:01:53 +01:00
operationId : deleteStorageLocation
2020-11-10 04:06:48 +01:00
parameters :
-
name : id
in : path
description : 'Storage Location ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2020-11-10 04:06:48 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2020-11-10 04:06:48 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
/admin/users :
2018-09-18 16:09:48 +02:00
get :
tags :
2019-01-03 11:59:44 +01:00
- 'Administration : Users'
description : 'List all current users in the system.'
2021-12-12 12:01:53 +01:00
operationId : getUsers
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-01-03 11:59:44 +01:00
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/User'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
post :
2018-09-18 16:09:48 +02:00
tags :
2019-01-03 11:59:44 +01:00
- 'Administration : Users'
description : 'Create a new user.'
2021-12-12 12:01:53 +01:00
operationId : addUser
2019-01-03 11:59:44 +01:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/User'
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-01-03 11:59:44 +01:00
content :
application/json :
schema :
$ref : '#/components/schemas/User'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
'/admin/user/{id}' :
2018-09-18 16:09:48 +02:00
get :
tags :
2019-01-03 11:59:44 +01:00
- 'Administration : Users'
description : 'Retrieve details for a single current user.'
2021-12-12 12:01:53 +01:00
operationId : getUser
2018-09-18 16:09:48 +02:00
parameters :
-
2019-01-03 11:59:44 +01:00
name : id
in : path
description : 'User ID'
required : true
schema :
type : integer
format : int64
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-01-03 11:59:44 +01:00
content :
application/json :
schema :
$ref : '#/components/schemas/User'
2018-09-18 16:09:48 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2018-09-18 16:09:48 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
put :
tags :
- 'Administration : Users'
description : 'Update details of a single user.'
2021-12-12 12:01:53 +01:00
operationId : editUser
2019-01-03 11:59:44 +01:00
parameters :
-
name : id
in : path
description : 'User ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/User'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
delete :
tags :
- 'Administration : Users'
description : 'Delete a single user.'
2021-12-12 12:01:53 +01:00
operationId : deleteUser
2019-01-03 11:59:44 +01:00
parameters :
-
name : id
in : path
description : 'User ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
/status :
2018-09-18 16:09:48 +02:00
get :
tags :
2019-01-03 11:59:44 +01:00
- Miscellaneous
description : 'Returns an affirmative response if the API is active.'
2021-06-29 03:03:59 +02:00
operationId : bc32a129ca3e8ad2060b71bdd90da78d
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-07-10 19:45:54 +02:00
content :
application/json :
schema :
$ref : '#/components/schemas/Api_SystemStatus'
2019-01-03 11:59:44 +01:00
/time :
2018-09-18 16:09:48 +02:00
get :
tags :
2019-01-03 11:59:44 +01:00
- Miscellaneous
2022-06-07 05:54:42 +02:00
description : "Returns the time (with formatting) in GMT and the user's local time zone, if logged in."
2021-06-29 03:03:59 +02:00
operationId : 3092a8238a915a0b6b324f2a90942a94
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-07-10 19:45:54 +02:00
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Time'
2019-01-03 11:59:44 +01:00
/nowplaying :
2018-09-18 16:09:48 +02:00
get :
tags :
2019-01-03 11:59:44 +01:00
- 'Now Playing'
2022-06-07 05:54:42 +02:00
description : "Returns a full summary of all stations' current state."
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-07-10 19:45:54 +02:00
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_NowPlaying'
2019-01-03 11:59:44 +01:00
'/nowplaying/{station_id}' :
get :
2018-09-18 16:09:48 +02:00
tags :
2019-01-03 11:59:44 +01:00
- 'Now Playing'
2022-06-07 05:54:42 +02:00
description : "Returns a full summary of the specified station's current state."
2018-09-18 16:09:48 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-07-10 19:45:54 +02:00
content :
application/json :
schema :
$ref : '#/components/schemas/Api_NowPlaying'
2018-09-18 16:09:48 +02:00
'404' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/RecordNotFound'
2019-04-24 15:58:04 +02:00
'/station/{station_id}/art/{media_id}' :
get :
tags :
- 'Stations : Media'
description : 'Returns the album art for a song, or a generic image.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
-
name : media_id
in : path
description : 'The station media unique ID'
required : true
schema :
type : string
responses :
'200' :
description : 'The requested album artwork'
'404' :
description : 'Image not found; generic filler image.'
2021-12-29 23:47:35 +01:00
post :
tags :
- 'Stations : Media'
description : 'Sets the album art for a track.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Media ID'
required : true
schema :
anyOf :
-
type : integer
format : int64
-
type : string
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
tags :
- 'Stations : Media'
description : 'Removes the album art for a track.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Media ID'
required : true
schema :
anyOf :
-
type : integer
format : int64
-
type : string
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/automation/run' :
put :
tags :
- 'Stations : Automation'
description : 'Run automated assignment.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2022-06-07 05:54:42 +02:00
'/station/{station_id}/fallback' :
get :
tags :
- 'Stations : General'
description : 'Get the custom fallback track for a station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
description : Success
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
post :
tags :
- 'Stations : General'
description : 'Update the custom fallback track for the station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
delete :
tags :
- 'Stations : General'
description : 'Removes the custom fallback track for a station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
2019-04-24 15:58:04 +02:00
'/station/{station_id}/files' :
get :
tags :
- 'Stations : Media'
description : 'List all current uploaded files.'
2021-12-12 12:01:53 +01:00
operationId : getFiles
2019-04-24 15:58:04 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationMedia'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-24 15:58:04 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-24 15:58:04 +02:00
post :
tags :
- 'Stations : Media'
description : 'Upload a new file.'
2021-12-12 12:01:53 +01:00
operationId : addFile
2019-04-24 15:58:04 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Api_UploadFile'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMedia'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-24 15:58:04 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-24 15:58:04 +02:00
'/station/{station_id}/file/{id}' :
get :
tags :
- 'Stations : Media'
description : 'Retrieve details for a single file.'
2021-12-12 12:01:53 +01:00
operationId : getFile
2019-04-24 15:58:04 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
-
name : id
in : path
description : 'Media ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMedia'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-24 15:58:04 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-24 15:58:04 +02:00
put :
tags :
- 'Stations : Media'
description : 'Update details of a single file.'
2021-12-12 12:01:53 +01:00
operationId : editFile
2019-04-24 15:58:04 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
-
name : id
in : path
description : 'Media ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationMedia'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-24 15:58:04 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-24 15:58:04 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-24 15:58:04 +02:00
delete :
tags :
- 'Stations : Media'
description : 'Delete a single file.'
2021-12-12 12:01:53 +01:00
operationId : deleteFile
2019-04-24 15:58:04 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-24 15:58:04 +02:00
-
name : id
in : path
description : 'Media ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-24 15:58:04 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-24 15:58:04 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-29 23:32:32 +01:00
'/station/{station_id}/history' :
get :
tags :
- 'Stations : History'
description : 'Return song playback history items for a given station.'
2021-12-12 12:01:53 +01:00
operationId : getStationHistory
2019-01-29 23:32:32 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-29 23:32:32 +01:00
-
name : start
in : query
description : 'The start date for records, in YYYY-MM-DD format.'
required : false
schema :
type : string
-
name : end
in : query
description : 'The end date for records, in YYYY-MM-DD format.'
required : false
schema :
type : string
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_DetailedSongHistory'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2022-06-07 05:54:42 +02:00
'/station/{station_id}/hls_streams' :
get :
tags :
- 'Stations : HLS Streams'
description : 'List all current HLS streams.'
operationId : getHlsStreams
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationMount'
'403' :
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
post :
tags :
- 'Stations : HLS Streams'
description : 'Create a new HLS stream.'
operationId : addHlsStream
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
'403' :
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
'/station/{station_id}/hls_stream/{id}' :
get :
tags :
- 'Stations : HLS Streams'
description : 'Retrieve details for a single HLS stream.'
operationId : getHlsStream
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
-
name : id
in : path
description : 'HLS Stream ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
put :
tags :
- 'Stations : HLS Streams'
description : 'Update details of a single HLS stream.'
operationId : editHlsStream
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
-
name : id
in : path
description : 'HLS Stream ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
delete :
tags :
- 'Stations : HLS Streams'
description : 'Delete a single HLS stream.'
operationId : deleteHlsStream
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
-
name : id
in : path
description : 'HLS Stream ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
2018-09-18 16:09:48 +02:00
/stations :
get :
tags :
- 'Stations : General'
description : 'Returns a list of stations.'
2021-12-12 12:01:53 +01:00
operationId : getStations
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-01-03 11:59:44 +01:00
content :
application/json :
schema :
type : array
items :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_Station'
2018-09-18 16:09:48 +02:00
'/station/{station_id}' :
get :
tags :
- 'Stations : General'
description : 'Return information about a single station.'
2021-12-12 12:01:53 +01:00
operationId : getStation
2019-01-03 11:59:44 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-03 11:59:44 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_Station'
2019-01-03 11:59:44 +01:00
'404' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/RecordNotFound'
2019-01-03 11:59:44 +01:00
'/station/{station_id}/listeners' :
get :
tags :
- 'Stations : Listeners'
description : 'Return detailed information about current listeners.'
2021-12-12 12:01:53 +01:00
operationId : getStationListeners
2018-09-18 16:09:48 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-09-18 16:09:48 +02:00
responses :
'200' :
description : Success
2019-01-29 23:32:32 +01:00
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_Listener'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/mount/{id}/intro' :
get :
tags :
- 'Stations : Mount Points'
description : 'Get the intro track for a mount point.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Mount Point ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
tags :
- 'Stations : Mount Points'
description : 'Update the intro track for a mount point.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Mount Point ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
tags :
- 'Stations : Mount Points'
description : 'Removes the intro track for a mount point.'
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Mount Point ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
'/station/{station_id}/mounts' :
get :
tags :
2019-04-15 00:12:49 +02:00
- 'Stations : Mount Points'
2019-04-10 06:46:51 +02:00
description : 'List all current mount points.'
2021-12-12 12:01:53 +01:00
operationId : getStationMounts
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationMount'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
post :
tags :
2019-04-15 00:12:49 +02:00
- 'Stations : Mount Points'
2019-04-10 06:46:51 +02:00
description : 'Create a new mount point.'
2021-12-12 12:01:53 +01:00
operationId : addMount
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
'/station/{station_id}/mount/{id}' :
get :
tags :
2019-04-15 00:12:49 +02:00
- 'Stations : Mount Points'
2019-04-10 06:46:51 +02:00
description : 'Retrieve details for a single mount point.'
2021-12-12 12:01:53 +01:00
operationId : getMount
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2021-12-29 23:47:35 +01:00
description : 'Streamer ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
put :
tags :
- 'Stations : Mount Points'
description : 'Update details of a single mount point.'
operationId : editMount
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Streamer ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationMount'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
tags :
- 'Stations : Mount Points'
description : 'Delete a single mount point.'
operationId : deleteMount
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'StationMount ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/playlists' :
get :
tags :
- 'Stations : Playlists'
description : 'List all current playlists.'
operationId : getPlaylists
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationPlaylist'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
tags :
- 'Stations : Playlists'
description : 'Create a new playlist.'
operationId : addPlaylist
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationPlaylist'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationPlaylist'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/playlist/{id}' :
get :
tags :
- 'Stations : Playlists'
description : 'Retrieve details for a single playlist.'
operationId : getPlaylist
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Playlist ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationPlaylist'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
put :
tags :
- 'Stations : Playlists'
description : 'Update details of a single playlist.'
operationId : editPlaylist
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Playlist ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationPlaylist'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
tags :
- 'Stations : Playlists'
description : 'Delete a single playlist relay.'
operationId : deletePlaylist
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : id
in : path
description : 'Playlist ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-29 23:47:35 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/podcast/{podcast_id}/episodes' :
get :
tags :
- 'Stations : Podcasts'
description : 'List all current episodes for a given podcast ID.'
operationId : getEpisodes
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_PodcastEpisode'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
tags :
- 'Stations : Podcasts'
description : 'Create a new podcast episode.'
operationId : addEpisode
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Api_PodcastEpisode'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Api_PodcastEpisode'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-29 23:47:35 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/podcast/{podcast_id}/episode/{id}' :
get :
tags :
- 'Stations : Podcasts'
description : 'Retrieve details for a single podcast episode.'
operationId : getEpisode
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
-
name : id
in : path
description : 'Podcast Episode ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
2021-12-29 23:47:35 +01:00
type : string
2019-04-10 06:46:51 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2021-12-29 23:47:35 +01:00
$ref : '#/components/schemas/Api_PodcastEpisode'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
put :
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Update details of a single podcast episode.'
operationId : editEpisode
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2021-12-29 23:47:35 +01:00
description : 'Podcast Episode ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
2021-12-29 23:47:35 +01:00
type : string
2019-04-10 06:46:51 +02:00
requestBody :
content :
application/json :
schema :
2021-12-29 23:47:35 +01:00
$ref : '#/components/schemas/Api_PodcastEpisode'
2019-04-10 06:46:51 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
delete :
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Delete a single podcast episode.'
operationId : deleteEpisode
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2021-12-29 23:47:35 +01:00
description : 'Podcast Episode ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
2021-12-29 23:47:35 +01:00
type : string
2019-04-10 06:46:51 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/podcast/{podcast_id}/art' :
2019-04-13 05:27:58 +02:00
get :
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Gets the album art for a podcast.'
2019-04-13 05:27:58 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-29 23:47:35 +01:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
2019-04-13 05:27:58 +02:00
responses :
'200' :
description : Success
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-13 05:27:58 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
2019-04-13 05:27:58 +02:00
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Sets the album art for a podcast.'
2019-04-13 05:27:58 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-13 05:27:58 +02:00
-
2021-12-29 23:47:35 +01:00
name : podcast_id
2019-04-13 05:27:58 +02:00
in : path
2021-12-29 23:47:35 +01:00
description : 'Podcast ID'
2019-04-13 05:27:58 +02:00
required : true
schema :
2021-12-29 23:47:35 +01:00
type : string
2019-04-13 05:27:58 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-13 05:27:58 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-13 05:27:58 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
2019-04-13 05:27:58 +02:00
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Removes the album art for a podcast.'
2019-04-13 05:27:58 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-13 05:27:58 +02:00
-
2021-12-29 23:47:35 +01:00
name : podcast_id
2019-04-13 05:27:58 +02:00
in : path
2021-12-29 23:47:35 +01:00
description : 'Podcast ID'
2019-04-13 05:27:58 +02:00
required : true
2022-01-11 05:31:24 +01:00
schema :
type : string
responses :
'200' :
$ref : '#/components/responses/Success'
2019-04-13 05:27:58 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-13 05:27:58 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/podcast/{podcast_id}/episode/{episode_id}/art' :
get :
2019-04-13 05:27:58 +02:00
tags :
2021-12-29 23:47:35 +01:00
- 'Stations : Podcasts'
description : 'Gets the album art for a podcast episode.'
2019-04-13 05:27:58 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-13 05:27:58 +02:00
-
2021-12-29 23:47:35 +01:00
name : podcast_id
2019-04-13 05:27:58 +02:00
in : path
2021-12-29 23:47:35 +01:00
description : 'Podcast ID'
2019-04-13 05:27:58 +02:00
required : true
schema :
2021-12-29 23:47:35 +01:00
type : string
-
name : episode_id
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
2019-04-13 05:27:58 +02:00
responses :
'200' :
description : Success
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-13 05:27:58 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
2021-05-25 06:29:07 +02:00
tags :
- 'Stations : Podcasts'
2021-12-29 23:47:35 +01:00
description : 'Sets the album art for a podcast episode.'
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
2021-12-29 23:47:35 +01:00
-
name : episode_id
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
2021-05-25 06:29:07 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-05-25 06:29:07 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
delete :
2021-05-25 06:29:07 +02:00
tags :
- 'Stations : Podcasts'
2021-12-29 23:47:35 +01:00
description : 'Removes the album art for a podcast episode.'
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
2021-12-29 23:47:35 +01:00
-
name : episode_id
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
2021-05-25 06:29:07 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2021-12-29 23:47:35 +01:00
$ref : '#/components/schemas/Api_Status'
'404' :
description : 'Record not found'
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Error'
2021-05-25 06:29:07 +02:00
'403' :
description : 'Access denied'
2021-12-29 23:47:35 +01:00
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Error'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
'/station/{station_id}/podcast/{podcast_id}/episode/{episode_id}/media' :
2021-05-25 06:29:07 +02:00
get :
tags :
- 'Stations : Podcasts'
2021-12-29 23:47:35 +01:00
description : 'Gets the media for a podcast episode.'
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
-
2021-12-29 23:47:35 +01:00
name : episode_id
2021-05-25 06:29:07 +02:00
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
responses :
'200' :
description : Success
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-29 23:47:35 +01:00
post :
2021-05-25 06:29:07 +02:00
tags :
- 'Stations : Podcasts'
2021-12-29 23:47:35 +01:00
description : 'Sets the media for a podcast episode.'
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
-
2021-12-29 23:47:35 +01:00
name : episode_id
2021-05-25 06:29:07 +02:00
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-05-25 06:29:07 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
delete :
tags :
- 'Stations : Podcasts'
2021-12-29 23:47:35 +01:00
description : 'Removes the media for a podcast episode.'
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : podcast_id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
-
2021-12-29 23:47:35 +01:00
name : episode_id
2021-05-25 06:29:07 +02:00
in : path
description : 'Podcast Episode ID'
required : true
schema :
type : string
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-05-25 06:29:07 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
'/station/{station_id}/podcasts' :
get :
tags :
- 'Stations : Podcasts'
description : 'List all current podcasts.'
2021-12-12 12:01:53 +01:00
operationId : getPodcasts
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_Podcast'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
post :
tags :
- 'Stations : Podcasts'
description : 'Create a new podcast.'
2021-12-12 12:01:53 +01:00
operationId : addPodcast
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Podcast'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Podcast'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
'/station/{station_id}/podcast/{id}' :
get :
tags :
- 'Stations : Podcasts'
description : 'Retrieve details for a single podcast.'
2021-12-12 12:01:53 +01:00
operationId : getPodcast
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Podcast'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
put :
tags :
- 'Stations : Podcasts'
description : 'Update details of a single podcast.'
2021-12-12 12:01:53 +01:00
operationId : editPodcast
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Podcast'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-05-25 06:29:07 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-05-25 06:29:07 +02:00
delete :
tags :
- 'Stations : Podcasts'
description : 'Delete a single podcast.'
2021-12-12 12:01:53 +01:00
operationId : deletePodcast
2021-05-25 06:29:07 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-05-25 06:29:07 +02:00
-
name : id
in : path
description : 'Podcast ID'
required : true
schema :
type : string
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-05-25 06:29:07 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-05-25 06:29:07 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2018-12-24 09:47:45 +01:00
'/station/{station_id}/queue' :
get :
tags :
2019-01-03 11:59:44 +01:00
- 'Stations : Queue'
2018-12-24 09:47:45 +01:00
description : 'Return information about the upcoming song playback queue.'
2021-12-12 12:01:53 +01:00
operationId : getQueue
2018-12-24 09:47:45 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-12-24 09:47:45 +01:00
responses :
'200' :
description : Success
2019-01-03 11:59:44 +01:00
content :
application/json :
schema :
type : array
items :
2020-11-10 04:06:48 +01:00
$ref : '#/components/schemas/Api_StationQueueDetailed'
2018-12-24 09:47:45 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2018-12-24 09:47:45 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
'/station/{station_id}/queue/{id}' :
get :
tags :
- 'Stations : Queue'
description : 'Retrieve details of a single queued item.'
2021-12-12 12:01:53 +01:00
operationId : getQueueItem
2019-01-03 11:59:44 +01:00
parameters :
2021-06-29 03:03:59 +02:00
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-03 11:59:44 +01:00
-
name : id
in : path
description : 'Queue Item ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
2020-11-10 04:06:48 +01:00
$ref : '#/components/schemas/Api_StationQueueDetailed'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
delete :
tags :
- 'Stations : Queue'
2019-03-01 03:30:25 +01:00
description : 'Delete a single queued item.'
2021-12-12 12:01:53 +01:00
operationId : deleteQueueItem
2019-01-03 11:59:44 +01:00
parameters :
2021-06-29 03:03:59 +02:00
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-03 11:59:44 +01:00
-
name : id
in : path
description : 'Queue Item ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
'/station/{station_id}/remotes' :
get :
tags :
- 'Stations : Remote Relays'
description : 'List all current remote relays.'
2021-12-12 12:01:53 +01:00
operationId : getRelays
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_StationRemote'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
post :
tags :
- 'Stations : Remote Relays'
description : 'Create a new remote relay.'
2021-12-12 12:01:53 +01:00
operationId : addRelay
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
requestBody :
content :
application/json :
schema :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_StationRemote'
2019-04-10 06:46:51 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_StationRemote'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
'/station/{station_id}/remote/{id}' :
get :
tags :
- 'Stations : Remote Relays'
description : 'Retrieve details for a single remote relay.'
2021-12-12 12:01:53 +01:00
operationId : getRelay
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2019-04-13 05:27:58 +02:00
description : 'Remote Relay ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_StationRemote'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
put :
tags :
- 'Stations : Remote Relays'
description : 'Update details of a single remote relay.'
2021-12-12 12:01:53 +01:00
operationId : editRelay
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2019-04-13 05:27:58 +02:00
description : 'Remote Relay ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_StationRemote'
2019-04-10 06:46:51 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-10 06:46:51 +02:00
delete :
tags :
- 'Stations : Remote Relays'
description : 'Delete a single remote relay.'
2021-12-12 12:01:53 +01:00
operationId : deleteRelay
2019-04-10 06:46:51 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-10 06:46:51 +02:00
-
name : id
in : path
2019-04-13 05:27:58 +02:00
description : 'Remote Relay ID'
2019-04-10 06:46:51 +02:00
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-10 06:46:51 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-10 06:46:51 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-01-03 11:59:44 +01:00
'/station/{station_id}/requests' :
get :
tags :
- 'Stations : Song Requests'
description : 'Return a list of requestable songs.'
2021-12-12 12:01:53 +01:00
operationId : getRequestableSongs
2019-01-03 11:59:44 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-03 11:59:44 +01:00
responses :
'200' :
description : Success
2021-12-29 06:36:30 +01:00
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_StationRequest'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-03 11:59:44 +01:00
'/station/{station_id}/request/{request_id}' :
post :
tags :
- 'Stations : Song Requests'
description : 'Submit a song request.'
2021-12-12 12:01:53 +01:00
operationId : submitSongRequest
2019-01-03 11:59:44 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-03 11:59:44 +01:00
-
name : request_id
in : path
description : 'The requestable song ID'
required : true
schema :
2021-09-05 01:27:46 +02:00
type : string
2019-01-03 11:59:44 +01:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-01-03 11:59:44 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2020-02-19 16:05:15 +01:00
'/station/{station_id}/schedule' :
get :
tags :
- 'Stations : Schedules'
description : 'Return upcoming and currently ongoing schedule entries.'
2021-12-12 12:01:53 +01:00
operationId : getSchedule
2020-02-19 16:05:15 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2020-02-19 16:05:15 +01:00
-
name : now
in : query
description : 'The date/time to compare schedule items to. Defaults to the current date and time.'
required : false
schema :
type : string
-
name : rows
in : query
description : 'The number of upcoming/ongoing schedule entries to return. Defaults to 5.'
required : false
schema :
type : integer
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/Api_StationSchedule'
'404' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
'/station/{station_id}/status' :
get :
tags :
- 'Stations : Service Control'
description : 'Retrieve the current status of all serivces associated with the radio broadcast.'
2021-12-12 12:01:53 +01:00
operationId : getServiceStatus
2019-01-29 23:32:32 +01:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-01-29 23:32:32 +01:00
responses :
'200' :
description : Success
2021-12-29 06:36:30 +01:00
content :
application/json :
schema :
2021-12-29 22:19:34 +01:00
$ref : '#/components/schemas/Api_StationServiceStatus'
2019-01-29 23:32:32 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-01-29 23:32:32 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2018-09-18 16:09:48 +02:00
'/station/{station_id}/restart' :
post :
tags :
- 'Stations : Service Control'
description : 'Restart all services associated with the radio broadcast.'
2021-12-12 12:01:53 +01:00
operationId : restartServices
2018-09-18 16:09:48 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-09-18 16:09:48 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2018-09-18 16:09:48 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2018-09-18 16:09:48 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2018-09-18 16:09:48 +02:00
'/station/{station_id}/frontend/{action}' :
post :
tags :
- 'Stations : Service Control'
description : 'Perform service control actions on the radio frontend (Icecast, SHOUTcast, etc.)'
2021-12-12 12:01:53 +01:00
operationId : doFrontendServiceAction
2018-09-18 16:09:48 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-09-18 16:09:48 +02:00
-
name : action
in : path
description : 'The action to perform (start, stop, restart)'
required : false
schema :
type : string
2021-06-29 03:03:59 +02:00
default : restart
2018-09-18 16:09:48 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2018-09-18 16:09:48 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2018-09-18 16:09:48 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2018-09-18 16:09:48 +02:00
'/station/{station_id}/backend/{action}' :
post :
tags :
- 'Stations : Service Control'
description : 'Perform service control actions on the radio backend (Liquidsoap)'
2021-12-12 12:01:53 +01:00
operationId : doBackendServiceAction
2018-09-18 16:09:48 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2018-09-18 16:09:48 +02:00
-
name : action
in : path
2021-12-29 06:36:30 +01:00
description: 'The action to perform (for all : start, stop, restart, skip, disconnect)'
2018-09-18 16:09:48 +02:00
required : false
schema :
type : string
2021-06-29 03:03:59 +02:00
default : restart
2018-09-18 16:09:48 +02:00
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2018-09-18 16:09:48 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2018-09-18 16:09:48 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-12 12:01:53 +01:00
'/station/{station_id}/sftp-users' :
get :
tags :
- 'Stations : SFTP Users'
description : 'List all current SFTP users.'
operationId : getSftpUsers
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-12 12:01:53 +01:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/SftpUser'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-12 12:01:53 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-12 12:01:53 +01:00
post :
tags :
- 'Stations : SFTP Users'
description : 'Create a new SFTP user.'
operationId : addSftpUser
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-12 12:01:53 +01:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/SftpUser'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/SftpUser'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-12 12:01:53 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-12 12:01:53 +01:00
'/station/{station_id}/sftp-user/{id}' :
get :
tags :
- 'Stations : SFTP Users'
description : 'Retrieve details for a single SFTP user.'
operationId : getSftpUser
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-12 12:01:53 +01:00
-
name : id
in : path
description : 'SFTP User ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/SftpUser'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-12 12:01:53 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-12 12:01:53 +01:00
put :
tags :
- 'Stations : SFTP Users'
description : 'Update details of a single SFTP user.'
operationId : editSftpUser
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-12 12:01:53 +01:00
-
name : id
in : path
description : 'Remote Relay ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/SftpUser'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-12 12:01:53 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-12 12:01:53 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2021-12-12 12:01:53 +01:00
delete :
tags :
- 'Stations : SFTP Users'
description : 'Delete a single remote relay.'
operationId : deleteSftpUser
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2021-12-12 12:01:53 +01:00
-
name : id
in : path
description : 'Remote Relay ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2021-12-12 12:01:53 +01:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2021-12-12 12:01:53 +01:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2022-06-07 05:54:42 +02:00
'/station/{station_id}/stereo-tool-configuration' :
get :
tags :
- 'Stations : Broadcasting'
description : 'Get the Stereo Tool configuration file for a station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
description : Success
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
post :
tags :
- 'Stations : Broadcasting'
description : 'Update the Stereo Tool configuration file for a station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
delete :
tags :
- 'Stations : Broadcasting'
description : 'Removes the Stereo Tool configuration file for a station.'
parameters :
-
$ref : '#/components/parameters/StationIdRequired'
responses :
'200' :
$ref : '#/components/responses/Success'
'403' :
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
security :
-
ApiKey : [ ]
2019-04-07 10:40:55 +02:00
'/station/{station_id}/streamers' :
get :
tags :
- 'Stations : Streamers/DJs'
description : 'List all current Streamer/DJ accounts for the specified station.'
2021-12-12 12:01:53 +01:00
operationId : getStreamers
2019-04-07 10:40:55 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-07 10:40:55 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationStreamer'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-07 10:40:55 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-07 10:40:55 +02:00
post :
tags :
- 'Stations : Streamers/DJs'
description : 'Create a new Streamer/DJ account.'
2021-12-12 12:01:53 +01:00
operationId : addStreamer
2019-04-07 10:40:55 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-07 10:40:55 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationStreamer'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationStreamer'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-07 10:40:55 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-07 10:40:55 +02:00
'/station/{station_id}/streamer/{id}' :
get :
tags :
- 'Stations : Streamers/DJs'
description : 'Retrieve details for a single Streamer/DJ account.'
2021-12-12 12:01:53 +01:00
operationId : getStreamer
2019-04-07 10:40:55 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-07 10:40:55 +02:00
-
name : id
in : path
description : 'Streamer ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationStreamer'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-07 10:40:55 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-07 10:40:55 +02:00
put :
tags :
- 'Stations : Streamers/DJs'
description : 'Update details of a single Streamer/DJ account.'
2021-12-12 12:01:53 +01:00
operationId : editStreamer
2019-04-07 10:40:55 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-07 10:40:55 +02:00
-
name : id
in : path
description : 'Streamer ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationStreamer'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-07 10:40:55 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-07 10:40:55 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-07 10:40:55 +02:00
delete :
tags :
- 'Stations : Streamers/DJs'
description : 'Delete a single Streamer/DJ account.'
2021-12-12 12:01:53 +01:00
operationId : deleteStreamer
2019-04-07 10:40:55 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-07 10:40:55 +02:00
-
name : id
in : path
description : 'StationStreamer ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-07 10:40:55 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-07 10:40:55 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-15 00:12:49 +02:00
'/station/{station_id}/webhooks' :
get :
tags :
- 'Stations : Web Hooks'
description : 'List all current web hooks.'
2021-12-12 12:01:53 +01:00
operationId : getWebhooks
2019-04-15 00:12:49 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-15 00:12:49 +02:00
responses :
'200' :
description : Success
content :
application/json :
schema :
type : array
items :
$ref : '#/components/schemas/StationWebhook'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-15 00:12:49 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-15 00:12:49 +02:00
post :
tags :
- 'Stations : Web Hooks'
description : 'Create a new web hook.'
2021-12-12 12:01:53 +01:00
operationId : addWebhook
2019-04-15 00:12:49 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-15 00:12:49 +02:00
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationWebhook'
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationWebhook'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-15 00:12:49 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-15 00:12:49 +02:00
'/station/{station_id}/webhook/{id}' :
get :
tags :
- 'Stations : Web Hooks'
description : 'Retrieve details for a single web hook.'
2021-12-12 12:01:53 +01:00
operationId : getWebhook
2019-04-15 00:12:49 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-15 00:12:49 +02:00
-
name : id
in : path
description : 'Web Hook ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/StationWebhook'
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-15 00:12:49 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-15 00:12:49 +02:00
put :
tags :
- 'Stations : Web Hooks'
description : 'Update details of a single web hook.'
2021-12-12 12:01:53 +01:00
operationId : editWebhook
2019-04-15 00:12:49 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-15 00:12:49 +02:00
-
name : id
in : path
description : 'Web Hook ID'
required : true
schema :
type : integer
format : int64
requestBody :
content :
application/json :
schema :
$ref : '#/components/schemas/StationWebhook'
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-15 00:12:49 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-15 00:12:49 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2019-04-15 00:12:49 +02:00
delete :
tags :
- 'Stations : Web Hooks'
description : 'Delete a single web hook relay.'
2021-12-12 12:01:53 +01:00
operationId : deleteWebhook
2019-04-15 00:12:49 +02:00
parameters :
-
2022-01-11 05:31:24 +01:00
$ref : '#/components/parameters/StationIdRequired'
2019-04-15 00:12:49 +02:00
-
name : id
in : path
description : 'Web Hook ID'
required : true
schema :
type : integer
format : int64
responses :
'200' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/Success'
2019-04-15 00:12:49 +02:00
'403' :
2022-01-11 05:31:24 +01:00
$ref : '#/components/responses/AccessDenied'
'404' :
$ref : '#/components/responses/RecordNotFound'
'500' :
$ref : '#/components/responses/GenericError'
2019-04-15 00:12:49 +02:00
security :
-
2022-01-11 05:31:24 +01:00
ApiKey : [ ]
2018-09-18 16:09:48 +02:00
components :
schemas :
2019-07-10 19:45:54 +02:00
Api_Admin_Relay :
properties :
id :
description : 'Station ID'
type : integer
example : 1
name :
description : 'Station name'
type : string
example : 'AzuraTest Radio'
2021-08-05 05:50:32 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
shortcode :
2021-04-14 22:28:27 +02:00
description : 'Station "short code", used for URL and folder paths'
type : string
example : azuratest_radio
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
description :
2019-07-10 19:45:54 +02:00
description : 'Station description'
type : string
example : 'An AzuraCast station!'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
url :
2019-07-10 19:45:54 +02:00
description : 'Station homepage URL'
type : string
example : 'https://www.azuracast.com/'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
genre :
2019-07-10 19:45:54 +02:00
description : 'The genre of the station'
type : string
example : Variety
2021-08-05 05:50:32 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
type :
2019-07-10 19:45:54 +02:00
description : 'Which broadcasting software (frontend) the station uses'
type : string
example : shoutcast2
2021-08-05 05:50:32 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
port :
2019-07-10 19:45:54 +02:00
description : 'The port used by this station to serve its broadcasts.'
type : integer
example : 8000
2021-12-12 12:01:53 +01:00
nullable : true
2019-07-28 05:07:11 +02:00
relay_pw :
2019-07-10 19:45:54 +02:00
description : 'The relay password for the frontend (if applicable).'
type : string
example : p4ssw0rd
2019-07-28 05:07:11 +02:00
admin_pw :
description : 'The administrator password for the frontend (if applicable).'
type : string
example : p4ssw0rd
2019-07-10 19:45:54 +02:00
mounts :
2021-12-29 01:53:56 +01:00
description : '*/'
2019-07-10 19:45:54 +02:00
type : array
2021-12-12 12:01:53 +01:00
items : { }
2019-07-10 19:45:54 +02:00
type : object
2020-11-27 09:16:00 +01:00
Api_Admin_StorageLocation :
2021-12-12 12:01:53 +01:00
properties :
id :
type : integer
example : 1
type :
description : 'The type of storage location.'
type : string
example : station_media
adapter :
description : 'The storage adapter to use for this location.'
type : string
example : local
path :
description : 'The local path, if the local adapter is used, or path prefix for S3/remote adapters.'
type : string
example : /var/azuracast/stations/azuratest_radio/media
nullable : true
s3CredentialKey :
description : 'The credential key for S3 adapters.'
type : string
example : your-key-here
nullable : true
s3CredentialSecret :
description : 'The credential secret for S3 adapters.'
type : string
example : your-secret-here
nullable : true
s3Region :
description : 'The region for S3 adapters.'
type : string
example : your-region
nullable : true
s3Version :
description : 'The API version for S3 adapters.'
type : string
example : latest
nullable : true
s3Bucket :
description : 'The S3 bucket name for S3 adapters.'
type : string
example : your-bucket-name
nullable : true
s3Endpoint :
description : 'The optional custom S3 endpoint S3 adapters.'
type : string
example : 'https://your-region.digitaloceanspaces.com'
nullable : true
2022-06-07 05:54:42 +02:00
sftpHost :
description : 'The host for SFTP adapters'
type : string
example : 127.0 .0 .1
nullable : true
sftpUsername :
description : 'The username for SFTP adapters'
type : string
example : root
nullable : true
sftpPassword :
description : 'The password for SFTP adapters'
type : string
example : abc123
nullable : true
sftpPort :
description : 'The port for SFTP adapters'
type : integer
example : 20
nullable : true
sftpPrivateKey :
description : 'The private key for SFTP adapters'
type : string
nullable : true
sftpPrivateKeyPassPhrase :
description : 'The private key pass phrase for SFTP adapters'
type : string
nullable : true
2021-12-12 12:01:53 +01:00
storageQuota :
type : string
example : '50 GB'
nullable : true
storageQuotaBytes :
type : string
example : '120000'
nullable : true
storageUsed :
type : string
example : '1 GB'
nullable : true
storageUsedBytes :
type : string
example : '60000'
nullable : true
storageAvailable :
type : string
example : '1 GB'
nullable : true
storageAvailableBytes :
type : string
example : '120000'
nullable : true
storageUsedPercent :
type : integer
example : '75'
nullable : true
isFull :
type : boolean
example : 'true'
uri :
description : 'The URI associated with the storage location.'
type : string
example : /var/azuracast/www
stations :
description : 'The stations using this storage location, if any.'
type : array
items :
type : string
example : 'AzuraTest Radio'
nullable : true
2020-11-27 09:16:00 +01:00
type : object
2018-12-22 18:27:41 +01:00
Api_DetailedSongHistory :
2021-12-12 12:01:53 +01:00
type : object
2018-09-18 16:09:48 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/Api_NowPlaying_SongHistory'
2018-09-18 16:09:48 +02:00
-
properties :
listeners_start :
description : 'Number of listeners when the song playback started.'
type : integer
example : 94
listeners_end :
description : 'Number of listeners when song playback ended.'
type : integer
example : 105
delta_total :
2022-06-07 05:54:42 +02:00
description : "The sum total change of listeners between the song's start and ending."
2018-09-18 16:09:48 +02:00
type : integer
example : 11
2018-12-22 18:27:41 +01:00
Api_Error :
2018-09-18 16:09:48 +02:00
properties :
code :
description : 'The numeric code of the error.'
type : integer
example : 500
2021-12-12 12:01:53 +01:00
type :
description : 'The programmatic class of error.'
type : string
example : NotLoggedInException
2018-09-18 16:09:48 +02:00
message :
description : 'The text description of the error.'
type : string
example : 'Error description.'
2019-03-25 01:12:04 +01:00
formatted_message :
description : 'The HTML-formatted text description of the error.'
type : string
example : '<b>Error description.</b><br>Detailed error text.'
2021-12-12 12:01:53 +01:00
nullable : true
2019-03-25 01:12:04 +01:00
extra_data :
description : 'Stack traces and other supplemental data.'
2018-09-18 16:09:48 +02:00
type : array
items : { }
success :
description : 'Used for API calls that expect an \Entity\Api\Status type response.'
type : boolean
example : false
type : object
2018-12-22 18:27:41 +01:00
Api_Listener :
2018-09-18 16:09:48 +02:00
properties :
ip :
2022-06-07 05:54:42 +02:00
description : "The listener's IP address"
2018-09-18 16:09:48 +02:00
type : string
example : 127.0 .0 .1
user_agent :
2022-06-07 05:54:42 +02:00
description : "The listener's HTTP User-Agent"
2018-09-18 16:09:48 +02:00
type : string
example : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36'
2021-12-12 12:01:53 +01:00
hash :
2021-12-29 01:53:56 +01:00
description : 'A unique identifier for this listener/user agent (used for unique calculations).'
2021-12-12 12:01:53 +01:00
type : string
example : ''
2021-01-28 01:20:05 +01:00
mount_is_local :
description : 'Whether the user is connected to a local mount point or a remote one.'
type : boolean
example : false
mount_name :
description : 'The display name of the mount point.'
type : string
example : /radio.mp3
2018-09-18 16:09:48 +02:00
connected_on :
description : 'UNIX timestamp that the user first connected.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-04-14 22:28:27 +02:00
connected_until :
description : 'UNIX timestamp that the user disconnected (or the latest timestamp if they are still connected).'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2018-09-18 16:09:48 +02:00
connected_time :
description : 'Number of seconds that the user has been connected.'
type : integer
example : 30
2022-06-07 05:54:42 +02:00
device :
description : 'Device metadata, if available'
type : array
items : { }
2018-09-18 16:09:48 +02:00
location :
description : 'Location metadata, if available'
type : array
items : { }
type : object
2018-12-22 18:27:41 +01:00
Api_NewRecord :
2021-12-12 12:01:53 +01:00
type : object
2018-12-22 18:27:41 +01:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/Api_Status'
2018-12-22 18:27:41 +01:00
-
properties :
links :
type : array
items :
type : string
example : 'http://localhost/api/record/1'
2021-08-22 17:52:49 +02:00
Api_NowPlaying_CurrentSong :
2021-12-12 12:01:53 +01:00
type : object
2021-08-22 17:52:49 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/Api_NowPlaying_SongHistory'
2021-08-22 17:52:49 +02:00
-
properties :
elapsed :
2022-06-07 05:54:42 +02:00
description : "Elapsed time of the song's playback since it started."
2021-08-22 17:52:49 +02:00
type : integer
example : 25
remaining :
description : 'Remaining time in the song, in seconds.'
type : integer
example : 155
Api_NowPlaying_Listeners :
properties :
total :
description : 'Total non-unique current listeners'
type : integer
example : 20
unique :
description : 'Total unique current listeners'
type : integer
example : 15
current :
description : 'Total non-unique current listeners (Legacy field, may be retired in the future.)'
type : integer
example : 20
type : object
Api_NowPlaying_Live :
properties :
is_live :
description : 'Whether the stream is known to currently have a live DJ.'
type : boolean
example : false
streamer_name :
description : 'The current active streamer/DJ, if one is available.'
type : string
example : 'DJ Jazzy Jeff'
broadcast_start :
description : 'The start timestamp of the current broadcast, if one is available.'
type : integer
example : '1591548318'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
type : object
2018-12-22 18:27:41 +01:00
Api_NowPlaying :
2018-09-18 16:09:48 +02:00
properties :
station :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_Station'
2018-09-18 16:09:48 +02:00
listeners :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_Listeners'
2018-09-18 16:09:48 +02:00
live :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_Live'
2018-09-18 16:09:48 +02:00
now_playing :
2021-12-29 01:53:56 +01:00
nullable : true
oneOf :
-
$ref : '#/components/schemas/Api_NowPlaying_CurrentSong'
2018-09-18 16:09:48 +02:00
playing_next :
2021-12-29 01:53:56 +01:00
nullable : true
oneOf :
-
$ref : '#/components/schemas/Api_NowPlaying_StationQueue'
2018-09-18 16:09:48 +02:00
song_history :
2021-12-29 01:53:56 +01:00
description : '*/'
2018-09-18 16:09:48 +02:00
type : array
items :
2021-08-22 17:52:49 +02:00
$ref : '#/components/schemas/Api_NowPlaying_SongHistory'
2021-03-09 09:49:16 +01:00
is_online :
description : 'Whether the stream is currently online.'
type : boolean
example : true
2018-09-18 16:09:48 +02:00
cache :
description : 'Debugging information about where the now playing data comes from.'
type : string
enum :
- hit
- database
- station
2021-12-12 12:01:53 +01:00
nullable : true
2018-09-18 16:09:48 +02:00
type : object
2021-08-22 17:52:49 +02:00
Api_NowPlaying_SongHistory :
properties :
sh_id :
description : 'Song history unique identifier'
type : integer
played_at :
description : 'UNIX timestamp when playback started.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-08-22 17:52:49 +02:00
duration :
description : 'Duration of the song in seconds'
type : integer
example : 180
playlist :
description : 'Indicates the playlist that the song was played from, if available, or empty string if not.'
type : string
example : 'Top 100'
nullable : true
2021-12-12 12:01:53 +01:00
streamer :
2021-08-22 17:52:49 +02:00
description : 'Indicates the current streamer that was connected, if available, or empty string if not.'
type : string
example : 'Test DJ'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
is_request :
description : 'Indicates whether the song is a listener request.'
type : boolean
song :
$ref : '#/components/schemas/Api_Song'
type : object
Api_NowPlaying_Station :
properties :
id :
description : 'Station ID'
type : integer
example : 1
name :
description : 'Station name'
type : string
example : 'AzuraTest Radio'
shortcode :
description : 'Station "short code", used for URL and folder paths'
type : string
example : azuratest_radio
description :
description : 'Station description'
type : string
example : 'An AzuraCast station!'
frontend :
description : 'Which broadcasting software (frontend) the station uses'
type : string
example : shoutcast2
backend :
description : 'Which AutoDJ software (backend) the station uses'
type : string
example : liquidsoap
listen_url :
description : 'The full URL to listen to the default mount of the station'
example : 'http://localhost:8000/radio.mp3'
url :
description : 'The public URL of the station.'
type : string
example : 'https://example.com/'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
public_player_url :
description : 'The public player URL for the station.'
example : 'https://example.com/public/example_station'
playlist_pls_url :
description : 'The playlist download URL in PLS format.'
example : 'https://example.com/public/example_station/playlist.pls'
playlist_m3u_url :
description : 'The playlist download URL in M3U format.'
example : 'https://example.com/public/example_station/playlist.m3u'
is_public :
description : 'If the station is public (i.e. should be shown in listings of all stations)'
type : boolean
example : true
mounts :
2021-12-29 01:53:56 +01:00
description : '*/'
2021-08-22 17:52:49 +02:00
type : array
items :
$ref : '#/components/schemas/Api_NowPlaying_StationMount'
remotes :
2021-12-29 01:53:56 +01:00
description : '*/'
2021-08-22 17:52:49 +02:00
type : array
items :
$ref : '#/components/schemas/Api_NowPlaying_StationRemote'
2022-06-07 05:54:42 +02:00
hls_enabled :
description : 'If the station has HLS streaming enabled.'
type : boolean
example : true
hls_url :
description : 'The full URL to listen to the HLS stream for the station.'
example : 'https://example.com/hls/azuratest_radio/live.m3u8'
nullable : true
2021-08-22 17:52:49 +02:00
type : object
Api_NowPlaying_StationMount :
2021-12-12 12:01:53 +01:00
type : object
2018-09-18 16:09:48 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/Api_NowPlaying_StationRemote'
2018-09-18 16:09:48 +02:00
-
properties :
2021-08-22 17:52:49 +02:00
path :
description : 'The relative path that corresponds to this mount point'
type : string
example : /radio.mp3
is_default :
description : 'If the mount is the default mount for the parent station'
type : boolean
example : true
Api_NowPlaying_StationQueue :
2018-09-18 16:09:48 +02:00
properties :
2021-08-22 17:52:49 +02:00
cued_at :
2021-12-12 12:01:53 +01:00
description : 'UNIX timestamp when the AutoDJ is expected to queue the song for playback.'
type : integer
example : 1609480800
played_at :
2021-08-22 17:52:49 +02:00
description : 'UNIX timestamp when playback is expected to start.'
2018-09-18 16:09:48 +02:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-08-22 17:52:49 +02:00
duration :
description : 'Duration of the song in seconds'
2018-09-18 16:09:48 +02:00
type : integer
2021-08-22 17:52:49 +02:00
example : 180
playlist :
description : 'Indicates the playlist that the song was played from, if available, or empty string if not.'
type : string
example : 'Top 100'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
is_request :
description : 'Indicates whether the song is a listener request.'
type : boolean
song :
$ref : '#/components/schemas/Api_Song'
2018-09-18 16:09:48 +02:00
type : object
2021-08-22 17:52:49 +02:00
Api_NowPlaying_StationRemote :
2018-09-18 16:09:48 +02:00
properties :
2021-08-22 17:52:49 +02:00
id :
description : 'Mount/Remote ID number.'
type : integer
example : 1
name :
description : 'Mount point name/URL'
2018-09-18 16:09:48 +02:00
type : string
2021-08-22 17:52:49 +02:00
example : /radio.mp3
url :
description : 'Full listening URL specific to this mount'
example : 'http://localhost:8000/radio.mp3'
bitrate :
description : 'Bitrate (kbps) of the broadcasted audio (if known)'
2020-06-22 06:36:14 +02:00
type : integer
2021-08-22 17:52:49 +02:00
example : 128
nullable : true
2021-12-12 12:01:53 +01:00
format :
2021-08-22 17:52:49 +02:00
description : 'Audio encoding format of broadcasted audio (if known)'
type : string
example : mp3
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
listeners :
$ref : '#/components/schemas/Api_NowPlaying_Listeners'
2018-09-18 16:09:48 +02:00
type : object
2021-05-25 06:29:07 +02:00
Api_Podcast :
type : object
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasLinks'
2021-05-25 06:29:07 +02:00
-
properties :
id :
2021-06-29 03:03:59 +02:00
type : string
2021-05-25 06:29:07 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
storage_location_id :
2021-06-29 03:03:59 +02:00
type : integer
2021-05-25 06:29:07 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
title :
2021-05-25 06:29:07 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
link :
2021-05-25 06:29:07 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
description :
2021-05-25 06:29:07 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
language :
2021-06-29 03:03:59 +02:00
type : string
2021-08-05 05:50:32 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
author :
2021-08-05 05:50:32 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
email :
2021-08-05 05:50:32 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
has_custom_art :
type : boolean
art :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
art_updated_at :
type : integer
categories :
2021-05-30 20:55:26 +02:00
type : array
2021-05-25 06:29:07 +02:00
items :
type : string
episodes :
2021-05-30 20:55:26 +02:00
type : array
2021-05-25 06:29:07 +02:00
items :
type : string
Api_PodcastEpisode :
type : object
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasLinks'
2021-05-25 06:29:07 +02:00
-
properties :
id :
type : string
nullable : true
2021-12-12 12:01:53 +01:00
title :
2021-05-25 06:29:07 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
description :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
explicit :
type : boolean
publish_at :
2021-06-29 03:03:59 +02:00
type : integer
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
has_media :
type : boolean
media :
$ref : '#/components/schemas/Api_PodcastMedia'
has_custom_art :
type : boolean
art :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
art_updated_at :
type : integer
Api_PodcastMedia :
properties :
id :
type : string
nullable : true
2021-12-12 12:01:53 +01:00
original_name :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
length :
type : number
format : float
length_text :
type : string
nullable : true
2021-12-12 12:01:53 +01:00
path :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-25 06:29:07 +02:00
type : object
2018-12-22 18:27:41 +01:00
Api_Song :
2018-09-18 16:09:48 +02:00
properties :
id :
2022-06-07 05:54:42 +02:00
description : "The song's 32-character unique identifier hash"
2018-09-18 16:09:48 +02:00
type : string
example : 9f33bbc912c19603e51be8e0987d076b
text :
description : 'The song title, usually "Artist - Title"'
type : string
example : 'Chet Porter - Aluko River'
artist :
description : 'The song artist.'
type : string
example : 'Chet Porter'
title :
description : 'The song title.'
type : string
example : 'Aluko River'
album :
description : 'The song album.'
type : string
example : 'Moving Castle'
2020-11-10 04:06:48 +01:00
genre :
description : 'The song genre.'
type : string
example : Rock
2022-06-07 05:54:42 +02:00
isrc :
description : 'The International Standard Recording Code (ISRC) of the file.'
type : string
example : US28E1600021
2018-09-18 16:09:48 +02:00
lyrics :
description : 'Lyrics to the song.'
type : string
example : ''
art :
description : 'URL to the album artwork (if available).'
example : 'https://picsum.photos/1200/1200'
custom_fields :
type : array
items :
type : string
example : custom_field_value
type : object
2020-06-22 06:36:14 +02:00
Api_StationOnDemand :
properties :
track_id :
description : 'Track ID unique identifier'
type : string
example : 1
download_url :
description : 'URL to download/play track.'
type : string
example : /api/station/1/ondemand/download/1
media :
$ref : '#/components/schemas/Api_Song'
2020-08-01 03:09:18 +02:00
playlist :
type : string
2020-06-22 06:36:14 +02:00
type : object
2021-04-26 13:36:24 +02:00
Api_StationPlaylistQueue :
properties :
spm_id :
description : 'ID of the StationPlaylistMedia record associating this track with the playlist'
type : integer
example : 1
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
media_id :
description : 'ID of the StationPlaylistMedia record associating this track with the playlist'
type : integer
example : 1
song_id :
2022-06-07 05:54:42 +02:00
description : "The song's 32-character unique identifier hash"
2021-04-26 13:36:24 +02:00
type : string
example : 9f33bbc912c19603e51be8e0987d076b
artist :
description : 'The song artist.'
type : string
example : 'Chet Porter'
title :
description : 'The song title.'
type : string
example : 'Aluko River'
type : object
2020-11-10 04:06:48 +01:00
Api_StationQueueDetailed :
2021-05-30 20:55:26 +02:00
type : object
2020-11-10 04:06:48 +01:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/Api_NowPlaying_StationQueue'
-
$ref : '#/components/schemas/HasLinks'
2020-11-10 04:06:48 +01:00
-
properties :
2021-12-12 12:01:53 +01:00
sent_to_autodj :
description : 'Indicates whether the song has been sent to the AutoDJ.'
type : boolean
is_played :
description : 'Indicates whether the song has already been marked as played.'
type : boolean
2020-11-27 09:16:00 +01:00
autodj_custom_uri :
description : 'Custom AutoDJ playback URI, if it exists.'
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-12-29 01:53:56 +01:00
log :
description : 'Log entries on how the specific queue item was picked by the AutoDJ.'
type : array
items : { }
nullable : true
2019-03-25 01:12:04 +01:00
Api_StationRemote :
2018-09-18 16:09:48 +02:00
type : object
2021-08-22 17:52:49 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasLinks'
2021-08-22 17:52:49 +02:00
-
properties :
id :
type : integer
nullable : true
2021-12-12 12:01:53 +01:00
display_name :
2021-08-22 17:52:49 +02:00
type : string
example : '128kbps MP3'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
is_visible_on_public_pages :
type : boolean
example : true
type :
type : string
example : icecast
is_editable :
type : boolean
example : 'true'
enable_autodj :
type : boolean
example : false
autodj_format :
type : string
example : mp3
nullable : true
2021-12-12 12:01:53 +01:00
autodj_bitrate :
2021-08-22 17:52:49 +02:00
type : integer
example : 128
nullable : true
2021-12-12 12:01:53 +01:00
custom_listen_url :
2021-08-22 17:52:49 +02:00
type : string
example : 'https://custom-listen-url.example.com/stream.mp3'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
url :
type : string
example : 'https://custom-url.example.com'
mount :
type : string
example : /stream.mp3
nullable : true
2021-12-12 12:01:53 +01:00
admin_password :
2021-08-22 17:52:49 +02:00
type : string
example : password
nullable : true
2021-12-12 12:01:53 +01:00
source_port :
2021-08-22 17:52:49 +02:00
type : integer
example : 8000
nullable : true
2021-12-12 12:01:53 +01:00
source_mount :
2021-08-22 17:52:49 +02:00
type : string
example : /
nullable : true
2021-12-12 12:01:53 +01:00
source_username :
2021-08-22 17:52:49 +02:00
type : string
example : source
nullable : true
2021-12-12 12:01:53 +01:00
source_password :
2021-08-22 17:52:49 +02:00
type : string
example : password
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-22 17:52:49 +02:00
is_public :
type : boolean
example : false
listeners_unique :
description : 'The most recent number of unique listeners.'
type : integer
example : 10
listeners_total :
description : 'The most recent number of total (non-unique) listeners.'
type : integer
example : 12
2018-12-22 18:27:41 +01:00
Api_StationRequest :
2018-09-18 16:09:48 +02:00
properties :
request_id :
description : 'Requestable ID unique identifier'
2018-11-26 21:54:49 +01:00
type : string
2018-09-18 16:09:48 +02:00
example : 1
request_url :
description : 'URL to directly submit request'
2018-11-26 21:54:49 +01:00
type : string
2018-09-18 16:09:48 +02:00
example : /api/station/1/request/1
song :
2018-12-22 18:27:41 +01:00
$ref : '#/components/schemas/Api_Song'
2018-09-18 16:09:48 +02:00
type : object
2020-02-19 16:05:15 +01:00
Api_StationSchedule :
properties :
id :
description : 'Unique identifier for this schedule entry.'
type : integer
example : 1
type :
description : 'The type of this schedule entry.'
type : string
enum :
- playlist
- streamer
example : playlist
name :
2022-06-07 05:54:42 +02:00
description : "Either the playlist or streamer's display name."
2020-02-19 16:05:15 +01:00
type : string
example : 'Example Schedule Entry'
2021-12-12 12:01:53 +01:00
title :
2022-06-07 05:54:42 +02:00
description : 'The name of the event.'
type : string
example : 'Example Schedule Entry'
description :
2021-12-12 12:01:53 +01:00
description : 'The full name of the type and name combined.'
type : string
example: 'Playlist : Example Schedule Entry'
2020-02-19 16:05:15 +01:00
start_timestamp :
description : 'The start time of the schedule entry, in UNIX format.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2020-02-19 16:05:15 +01:00
start :
description : 'The start time of the schedule entry, in ISO 8601 format.'
type : string
example : '020-02-19T03:00:00-06:00'
end_timestamp :
description : 'The end time of the schedule entry, in UNIX format.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2020-02-19 16:05:15 +01:00
end :
description : 'The start time of the schedule entry, in ISO 8601 format.'
type : string
example : '020-02-19T05:00:00-06:00'
is_now :
description : 'Whether the event is currently ongoing.'
type : boolean
example : true
type : object
2019-01-29 23:32:32 +01:00
Api_StationServiceStatus :
properties :
backend_running :
type : boolean
example : true
frontend_running :
type : boolean
example : true
2021-12-12 12:01:53 +01:00
station_has_started :
type : boolean
example : true
station_needs_restart :
type : boolean
example : true
2019-01-29 23:32:32 +01:00
type : object
2018-12-22 18:27:41 +01:00
Api_Status :
2018-09-18 16:09:48 +02:00
properties :
success :
type : boolean
example : true
message :
type : string
example : 'Changes saved successfully.'
2019-03-25 01:12:04 +01:00
formatted_message :
type : string
example : '<b>Changes saved successfully.</b>'
2018-09-18 16:09:48 +02:00
type : object
2018-12-22 18:27:41 +01:00
Api_SystemStatus :
2018-09-18 16:09:48 +02:00
properties :
online :
description : 'Whether the service is online or not (should always be true)'
type : boolean
example : true
timestamp :
description : 'The current UNIX timestamp'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2018-09-18 16:09:48 +02:00
type : object
2018-12-22 18:27:41 +01:00
Api_Time :
2018-09-18 16:09:48 +02:00
properties :
timestamp :
description : 'The current UNIX timestamp'
type : integer
example : 1497652397
2020-10-09 23:31:48 +02:00
utc_datetime :
2018-09-18 16:09:48 +02:00
type : string
example : '2017-06-16 10:33:17'
2020-10-09 23:31:48 +02:00
utc_date :
2018-09-18 16:09:48 +02:00
type : string
example : 'June 16, 2017'
2020-10-09 23:31:48 +02:00
utc_time :
2018-09-18 16:09:48 +02:00
type : string
example : '10:33pm'
2020-10-09 23:31:48 +02:00
utc_json :
2018-09-18 16:09:48 +02:00
type : string
2020-10-09 23:31:48 +02:00
example : '2012-12-25T16:30:00.000000Z'
2018-09-18 16:09:48 +02:00
type : object
2020-12-01 14:45:01 +01:00
HasLinks :
properties :
links :
type : array
items :
type : string
example : 'http://localhost/api/stations/1/queue/1'
type : object
2019-04-24 15:58:04 +02:00
Api_UploadFile :
properties :
path :
2021-12-12 12:01:53 +01:00
description : 'The destination path of the uploaded file.'
2019-04-24 15:58:04 +02:00
type : string
example : relative/path/to/file.mp3
file :
2021-12-12 12:01:53 +01:00
description : 'The base64-encoded contents of the file to upload.'
2019-04-24 15:58:04 +02:00
type : string
example : ''
type : object
2019-01-29 23:32:32 +01:00
CustomField :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
type : string
short_name :
description : 'The programmatic name for the field. Can be auto-generated from the full name.'
type : string
auto_assign :
description : 'An ID3v2 field to automatically assign to this value, if it exists in the media file.'
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2019-07-28 05:07:11 +02:00
Relay :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
base_url :
type : string
2021-06-16 01:29:25 +02:00
example : 'https://custom-url.example.com'
2021-05-30 20:55:26 +02:00
name :
type : string
example : Relay
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
is_visible_on_public_pages :
type : boolean
example : true
created_at :
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-05-30 20:55:26 +02:00
updated_at :
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2019-01-05 13:02:49 +01:00
Role :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
type : string
example : 'Super Administrator'
permissions :
2022-06-07 05:54:42 +02:00
description : 'RolePermission> */'
2021-05-30 20:55:26 +02:00
type : array
items : { }
2020-12-04 16:12:10 +01:00
Settings :
properties :
2021-04-26 13:36:24 +02:00
app_unique_identifier :
2021-05-30 20:55:26 +02:00
type : string
2021-04-26 13:36:24 +02:00
base_url :
description : 'Site Base URL'
2020-12-04 16:12:10 +01:00
type : string
example : 'https://your.azuracast.site'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
instance_name :
2021-04-26 13:36:24 +02:00
description : 'AzuraCast Instance Name'
2020-12-04 16:12:10 +01:00
type : string
example : 'My AzuraCast Instance'
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
prefer_browser_url :
description : 'Prefer Browser URL (If Available)'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
use_radio_proxy :
description : 'Use Web Proxy for Radio'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
history_keep_days :
description : 'Days of Playback History to Keep'
2020-12-04 16:12:10 +01:00
type : integer
2021-04-26 13:36:24 +02:00
always_use_ssl :
description : 'Always Use HTTPS'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
api_access_control :
2022-06-07 05:54:42 +02:00
description : "API 'Access-Control-Allow-Origin' header"
2020-12-04 16:12:10 +01:00
type : string
example : '*'
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
enable_websockets :
description : 'Whether to use Websockets for Now Playing data updates.'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
analytics :
description : 'Listener Analytics Collection'
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
check_for_updates :
description : 'Check for Updates and Announcements'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'true'
2021-04-26 13:36:24 +02:00
update_results :
2020-12-04 16:12:10 +01:00
description : 'Results of the latest update check.'
2021-12-12 12:01:53 +01:00
type : array
items : { }
2020-12-04 16:12:10 +01:00
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
update_last_run :
description : 'The UNIX timestamp when updates were last checked.'
2020-12-04 16:12:10 +01:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-04-26 13:36:24 +02:00
public_theme :
description : 'Base Theme for Public Pages'
2020-12-04 16:12:10 +01:00
type : string
example : light
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
hide_album_art :
description : 'Hide Album Art on Public Pages'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
homepage_redirect_url :
description : 'Homepage Redirect URL'
2020-12-04 16:12:10 +01:00
type : string
example : 'https://example.com/'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
default_album_art_url :
2021-04-26 13:36:24 +02:00
description : 'Default Album Art URL'
2020-12-04 16:12:10 +01:00
type : string
example : 'https://example.com/image.jpg'
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
use_external_album_art_when_processing_media :
description : 'Attempt to fetch album art from external sources when processing media.'
2021-01-28 01:20:05 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
use_external_album_art_in_apis :
description : 'Attempt to fetch album art from external sources in API requests.'
2021-01-28 01:20:05 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
last_fm_api_key :
description : 'An API key to connect to Last.fm services, if provided.'
2021-01-28 01:20:05 +01:00
type : string
example : SAMPLE-API-KEY
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
hide_product_name :
description : 'Hide AzuraCast Branding on Public Pages'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
public_custom_css :
description : 'Custom CSS for Public Pages'
2020-12-04 16:12:10 +01:00
type : string
example : ''
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
public_custom_js :
2021-04-26 13:36:24 +02:00
description : 'Custom JS for Public Pages'
2020-12-04 16:12:10 +01:00
type : string
example : ''
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
internal_custom_css :
2021-04-26 13:36:24 +02:00
description : 'Custom CSS for Internal Pages'
2020-12-04 16:12:10 +01:00
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
backup_enabled :
description : 'Whether backup is enabled.'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
backup_time_code :
description : 'The timecode (i.e. 400 for 4:00AM) when automated backups should run.'
2020-12-07 19:17:00 +01:00
type : string
2020-12-04 16:12:10 +01:00
example : 400
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
backup_exclude_media :
description : 'Whether to exclude media in automated backups.'
2020-12-04 16:12:10 +01:00
type : boolean
example : 'false'
2021-04-26 13:36:24 +02:00
backup_keep_copies :
description : 'Number of backups to keep, or infinite if zero/null.'
2020-12-04 16:12:10 +01:00
type : integer
example : 2
2021-04-26 13:36:24 +02:00
backup_storage_location :
description : 'The storage location ID for automated backups.'
2020-12-04 16:12:10 +01:00
type : integer
example : 1
2021-12-12 12:01:53 +01:00
nullable : true
2022-06-07 05:54:42 +02:00
backup_format :
description : 'The output format for the automated backup.'
type : string
example : zip
nullable : true
2021-04-26 13:36:24 +02:00
backup_last_run :
description : 'The UNIX timestamp when automated backup was last run.'
2020-12-04 16:12:10 +01:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-04-26 13:36:24 +02:00
backup_last_output :
description : 'The output of the latest automated backup task.'
2020-12-04 16:12:10 +01:00
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
setup_complete_time :
description : 'The UNIX timestamp when setup was last completed.'
2020-12-04 16:12:10 +01:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2022-01-11 05:31:24 +01:00
sync_disabled :
description : 'Temporarily disable all sync tasks.'
type : boolean
example : 'false'
sync_last_run :
description : 'The last run timestamp for the unified sync task.'
2020-12-04 16:12:10 +01:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-04-26 13:36:24 +02:00
external_ip :
2022-06-07 05:54:42 +02:00
description : "This installation's external IP."
2020-12-04 16:12:10 +01:00
type : string
example : 192.168 .1 .1
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
geolite_license_key :
2021-04-26 13:36:24 +02:00
description : 'The license key for the Maxmind Geolite download.'
2020-12-04 16:12:10 +01:00
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
geolite_last_run :
description : 'The UNIX timestamp when the Maxmind Geolite was last downloaded.'
2020-12-04 16:12:10 +01:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-05-25 06:29:07 +02:00
enable_advanced_features :
2022-06-07 05:54:42 +02:00
description : "Whether to enable 'advanced' functionality in the system that is intended for power users."
2021-02-20 03:43:54 +01:00
type : boolean
example : false
2021-04-26 13:36:24 +02:00
mail_enabled :
description : 'Enable e-mail delivery across the application.'
2021-03-09 09:49:16 +01:00
type : boolean
example : 'true'
2021-04-26 13:36:24 +02:00
mail_sender_name :
description : 'The name of the sender of system e-mails.'
2021-03-09 09:49:16 +01:00
type : string
example : AzuraCast
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
mail_sender_email :
2021-04-26 13:36:24 +02:00
description : 'The e-mail address of the sender of system e-mails.'
2021-03-09 09:49:16 +01:00
type : string
example : example@example.com
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
mail_smtp_host :
2021-04-26 13:36:24 +02:00
description : 'The host to send outbound SMTP mail.'
2021-03-09 09:49:16 +01:00
type : string
example : smtp.example.com
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
mail_smtp_port :
description : 'The port for sending outbound SMTP mail.'
2021-03-09 09:49:16 +01:00
type : integer
example : 465
2021-04-26 13:36:24 +02:00
mail_smtp_username :
description : 'The username when connecting to SMTP mail.'
2021-03-09 09:49:16 +01:00
type : string
example : username
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
mail_smtp_password :
2021-04-26 13:36:24 +02:00
description : 'The password when connecting to SMTP mail.'
2021-03-09 09:49:16 +01:00
type : string
example : password
2021-12-12 12:01:53 +01:00
nullable : true
2021-04-26 13:36:24 +02:00
mail_smtp_secure :
description : 'Whether to use a secure (TLS) connection when sending SMTP mail.'
2021-03-09 09:49:16 +01:00
type : boolean
example : 'true'
2021-04-26 13:36:24 +02:00
avatar_service :
description : 'The external avatar service to use when fetching avatars.'
2021-04-14 22:28:27 +02:00
type : string
example : libravatar
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
avatar_default_url :
2021-04-26 13:36:24 +02:00
description : 'The default avatar URL.'
2021-04-14 22:28:27 +02:00
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2020-12-04 16:12:10 +01:00
type : object
2021-12-12 12:01:53 +01:00
SftpUser :
2018-12-22 18:27:41 +01:00
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-12-12 12:01:53 +01:00
-
properties :
username :
type : string
password :
type : string
publicKeys :
type : string
nullable : true
Station :
type : object
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
description : 'The full display name of the station.'
type : string
example : 'AzuraTest Radio'
short_name :
description : 'The URL-friendly name for the station, typically auto-generated from the full station name.'
type : string
example : azuratest_radio
is_enabled :
2022-06-07 05:54:42 +02:00
description : "If set to 'false', prevents the station from broadcasting but leaves it in the database."
2021-05-30 20:55:26 +02:00
type : boolean
example : true
frontend_type :
description : 'The frontend adapter (icecast,shoutcast,remote,etc)'
type : string
example : icecast
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
frontend_config :
description : 'An array containing station-specific frontend configuration'
type : array
items : { }
backend_type :
description : 'The backend adapter (liquidsoap,etc)'
type : string
example : liquidsoap
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
backend_config :
description : 'An array containing station-specific backend configuration'
type : array
items : { }
description :
type : string
example : 'A sample radio station.'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
url :
2021-05-30 20:55:26 +02:00
type : string
example : 'https://demo.azuracast.com/'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
genre :
2021-05-30 20:55:26 +02:00
type : string
example : Various
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
radio_base_dir :
2021-05-30 20:55:26 +02:00
type : string
example : /var/azuracast/stations/azuratest_radio
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
automation_settings :
type : array
items : { }
enable_requests :
description : 'Whether listeners can request songs to play on this station.'
type : boolean
example : true
request_delay :
type : integer
example : 5
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
request_threshold :
2021-05-30 20:55:26 +02:00
type : integer
example : 15
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
disconnect_deactivate_streamer :
2021-05-30 20:55:26 +02:00
type : integer
example : 0
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
enable_streamers :
description : 'Whether streamers are allowed to broadcast to this station at all.'
type : boolean
example : false
is_streamer_live :
description : 'Whether a streamer is currently active on the station.'
type : boolean
example : false
enable_public_page :
description : 'Whether this station is visible as a public page and in a now-playing API response.'
type : boolean
example : true
enable_on_demand :
2022-06-07 05:54:42 +02:00
description : "Whether this station has a public 'on-demand' streaming and download page."
2021-05-30 20:55:26 +02:00
type : boolean
example : true
enable_on_demand_download :
2022-06-07 05:54:42 +02:00
description : "Whether the 'on-demand' page offers download capability."
type : boolean
example : true
enable_hls :
description : 'Whether HLS streaming is enabled.'
2021-05-30 20:55:26 +02:00
type : boolean
example : true
api_history_items :
2022-06-07 05:54:42 +02:00
description : "The number of 'last played' history items to show for a station in API responses."
2021-05-30 20:55:26 +02:00
type : integer
example : 5
timezone :
description : 'The time zone that station operations should take place in.'
type : string
example : UTC
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
default_album_art_url :
2021-05-30 20:55:26 +02:00
description : 'The station-specific default album artwork URL.'
type : string
example : 'https://example.com/image.jpg'
2021-12-12 12:01:53 +01:00
nullable : true
2022-06-07 05:54:42 +02:00
StationHlsStream :
type : object
allOf :
2021-12-12 12:01:53 +01:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2022-06-07 05:54:42 +02:00
-
properties :
name :
type : string
example : aac_lofi
format :
type : string
example : aac
nullable : true
bitrate :
type : integer
example : 128
nullable : true
2019-04-24 15:58:04 +02:00
StationMedia :
type : object
2020-12-01 14:45:01 +01:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
-
$ref : '#/components/schemas/HasSongFields'
2020-12-01 14:45:01 +01:00
-
properties :
2021-05-30 20:55:26 +02:00
unique_id :
description : 'A unique identifier associated with this record.'
type : string
example : 69b536afc7ebbf16457b8645
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
album :
2022-06-07 05:54:42 +02:00
description : "The name of the media file's album."
2020-12-01 14:45:01 +01:00
type : string
example : 'Test Album'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
genre :
2020-12-01 14:45:01 +01:00
description : 'The genre of the media file.'
type : string
example : Rock
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
lyrics :
2020-12-01 14:45:01 +01:00
description : 'Full lyrics of the track, if available.'
type : string
example : '...Never gonna give you up...'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
isrc :
2020-12-01 14:45:01 +01:00
description : 'The track ISRC (International Standard Recording Code), used for licensing purposes.'
type : string
example : GBARL0600786
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
length :
2020-12-01 14:45:01 +01:00
description : 'The song duration in seconds.'
type : number
format : float
example : 240
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
length_text :
2020-12-01 14:45:01 +01:00
description : 'The formatted song duration (in mm:ss format)'
type : string
example : '4:00'
2021-12-12 12:01:53 +01:00
nullable : true
2020-12-01 14:45:01 +01:00
path :
description : 'The relative path of the media file.'
type : string
example : test.mp3
mtime :
description : 'The UNIX timestamp when the database was last modified.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
amplify :
2021-05-30 20:55:26 +02:00
description : 'The amount of amplification (in dB) to be applied to the radio source (liq_amplify)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : -14
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
fade_overlap :
2021-05-30 20:55:26 +02:00
description : 'The length of time (in seconds) before the next song starts in the fade (liq_start_next)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : 2
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
fade_in :
2021-05-30 20:55:26 +02:00
description : 'The length of time (in seconds) to fade in the next track (liq_fade_in)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : 3
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
fade_out :
2021-05-30 20:55:26 +02:00
description : 'The length of time (in seconds) to fade out the previous track (liq_fade_out)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : 3
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
cue_in :
2021-05-30 20:55:26 +02:00
description : 'The length of time (in seconds) from the start of the track to start playing (liq_cue_in)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : 30
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
cue_out :
2021-05-30 20:55:26 +02:00
description : 'The length of time (in seconds) from the CUE-IN of the track to stop playing (liq_cue_out)'
2020-12-01 14:45:01 +01:00
type : number
format : float
example : 30
2021-12-12 12:01:53 +01:00
nullable : true
2020-12-01 14:45:01 +01:00
art_updated_at :
description : 'The latest time (UNIX timestamp) when album art was updated.'
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2020-12-01 14:45:01 +01:00
playlists :
2022-06-07 05:54:42 +02:00
description : 'StationPlaylistMedia> */'
2021-05-30 20:55:26 +02:00
type : array
2020-12-01 14:45:01 +01:00
items : { }
2019-04-10 06:46:51 +02:00
StationMount :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
type : string
example : /radio.mp3
display_name :
type : string
example : '128kbps MP3'
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
is_visible_on_public_pages :
type : boolean
example : true
is_default :
type : boolean
example : false
is_public :
type : boolean
example : false
fallback_mount :
type : string
example : /error.mp3
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
relay_url :
2021-05-30 20:55:26 +02:00
type : string
2021-06-16 01:29:25 +02:00
example : 'https://radio.example.com:8000/radio.mp3'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
authhash :
2021-05-30 20:55:26 +02:00
type : string
example : ''
2021-12-12 12:01:53 +01:00
nullable : true
2021-06-29 03:03:59 +02:00
max_listener_duration :
type : integer
example : 43200
2021-05-30 20:55:26 +02:00
enable_autodj :
type : boolean
example : true
autodj_format :
type : string
example : mp3
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
autodj_bitrate :
2021-05-30 20:55:26 +02:00
type : integer
example : 128
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
custom_listen_url :
2021-05-30 20:55:26 +02:00
type : string
example : 'https://custom-listen-url.example.com/stream.mp3'
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
frontend_config :
type : array
items : { }
listeners_unique :
description : 'The most recent number of unique listeners.'
type : integer
example : 10
listeners_total :
description : 'The most recent number of total (non-unique) listeners.'
type : integer
example : 12
StationPlaylist :
2019-11-21 03:06:38 +01:00
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
type : string
example : 'Test Playlist'
type :
type : string
example : default
source :
type : string
example : songs
order :
type : string
example : shuffle
remote_url :
type : string
2021-06-16 01:29:25 +02:00
example : 'https://remote-url.example.com/stream.mp3'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
remote_type :
2021-05-30 20:55:26 +02:00
type : string
example : stream
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
remote_buffer :
description : 'The total time (in seconds) that Liquidsoap should buffer remote URL streams.'
type : integer
example : 0
is_enabled :
type : boolean
example : true
is_jingle :
description : 'If yes, do not send jingle metadata to AutoDJ or trigger web hooks.'
type : boolean
example : false
play_per_songs :
type : integer
example : 5
play_per_minutes :
type : integer
example : 120
play_per_hour_minute :
type : integer
example : 15
weight :
type : integer
example : 3
include_in_requests :
type : boolean
example : true
include_in_on_demand :
2022-06-07 05:54:42 +02:00
description : "Whether this playlist's media is included in 'on demand' download/streaming if enabled."
2021-05-30 20:55:26 +02:00
type : boolean
example : true
include_in_automation :
type : boolean
example : false
backend_options :
type : string
example : 'interrupt,loop_once,single_track,merge'
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
avoid_duplicates :
type : boolean
example : true
schedule_items :
2022-06-07 05:54:42 +02:00
description : 'StationSchedule> */'
2021-05-30 20:55:26 +02:00
type : array
items : { }
2020-02-19 16:05:15 +01:00
StationSchedule :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
start_time :
type : integer
example : 900
end_time :
type : integer
example : 2200
days :
description : 'Array of ISO-8601 days (1 for Monday, 7 for Sunday)'
type : string
example : '0,1,2,3'
2021-12-12 12:01:53 +01:00
nullable : true
2021-08-05 05:50:32 +02:00
loop_once :
type : boolean
example : false
2019-04-07 10:40:55 +02:00
StationStreamer :
2021-05-30 20:55:26 +02:00
description : 'Station streamers (DJ accounts) allowed to broadcast to a station.'
2020-02-19 16:05:15 +01:00
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
streamer_username :
type : string
example : dj_test
streamer_password :
type : string
example : ''
display_name :
type : string
example : 'Test DJ'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
comments :
2021-05-30 20:55:26 +02:00
type : string
example : 'This is a test DJ account.'
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
is_active :
type : boolean
example : true
enforce_schedule :
type : boolean
example : false
reactivate_at :
2021-06-29 03:03:59 +02:00
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
schedule_items :
2022-06-07 05:54:42 +02:00
description : 'StationSchedule> */'
2021-05-30 20:55:26 +02:00
type : array
items : { }
2020-02-19 16:05:15 +01:00
StationStreamerBroadcast :
2021-05-30 20:55:26 +02:00
description : 'Each individual broadcast associated with a streamer.'
2019-04-15 00:12:49 +02:00
type : object
2021-05-30 20:55:26 +02:00
allOf :
-
$ref : '#/components/schemas/HasAutoIncrementId'
2019-04-15 00:12:49 +02:00
StationWebhook :
2021-05-30 20:55:26 +02:00
type : object
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
name :
description : 'The nickname of the webhook connector.'
type : string
example : 'Twitter Post'
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
type :
description : 'The type of webhook connector to use.'
type : string
example : twitter
is_enabled :
type : boolean
example : true
triggers :
description : 'List of events that should trigger the webhook notification.'
type : array
items : { }
config :
description : 'Detailed webhook configuration (if applicable)'
type : array
items : { }
metadata :
description : 'Internal details used by the webhook to preserve state.'
type : array
items : { }
HasAutoIncrementId :
2019-04-15 00:12:49 +02:00
properties :
id :
2021-06-29 03:03:59 +02:00
type : integer
2021-12-12 12:01:53 +01:00
nullable : true
2021-06-16 01:29:25 +02:00
type : object
HasSongFields :
properties :
song_id :
type : string
text :
type : string
nullable : true
2021-12-12 12:01:53 +01:00
artist :
2021-06-16 01:29:25 +02:00
type : string
nullable : true
2021-12-12 12:01:53 +01:00
title :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2019-04-07 10:40:55 +02:00
type : object
2021-05-30 20:55:26 +02:00
HasUniqueId :
2019-04-24 15:58:04 +02:00
properties :
2021-05-30 20:55:26 +02:00
id :
2021-06-29 03:03:59 +02:00
type : string
2021-12-12 12:01:53 +01:00
nullable : true
2019-04-24 15:58:04 +02:00
type : object
2018-12-22 18:27:41 +01:00
User :
type : object
2021-05-30 20:55:26 +02:00
allOf :
2022-06-07 05:54:42 +02:00
-
$ref : '#/components/schemas/HasAutoIncrementId'
2021-05-30 20:55:26 +02:00
-
properties :
email :
type : string
example : demo@azuracast.com
new_password :
type : string
example : ''
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
name :
2021-05-30 20:55:26 +02:00
type : string
example : 'Demo Account'
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
locale :
2021-05-30 20:55:26 +02:00
type : string
example : en_US
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
theme :
2021-05-30 20:55:26 +02:00
type : string
example : dark
2021-06-29 03:03:59 +02:00
nullable : true
2021-12-12 12:01:53 +01:00
two_factor_secret :
2021-05-30 20:55:26 +02:00
type : string
example : A1B2C3D4
2021-12-12 12:01:53 +01:00
nullable : true
2021-05-30 20:55:26 +02:00
created_at :
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-05-30 20:55:26 +02:00
updated_at :
type : integer
2021-09-05 01:27:46 +02:00
example : 1609480800
2021-05-30 20:55:26 +02:00
roles :
2022-06-07 05:54:42 +02:00
description : 'Role> */'
2021-05-30 20:55:26 +02:00
type : array
items : { }
2018-09-18 16:09:48 +02:00
responses :
2022-01-11 05:31:24 +01:00
Success :
description : Success
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Status'
AccessDenied :
description : 'Access denied.'
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Error'
RecordNotFound :
description : 'Record not found.'
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Error'
GenericError :
description : 'A generic exception has occurred.'
content :
application/json :
schema :
$ref : '#/components/schemas/Api_Error'
2018-09-18 16:09:48 +02:00
parameters :
2022-01-11 05:31:24 +01:00
StationIdRequired :
name : StationIdRequired
2018-09-18 16:09:48 +02:00
in : path
required : true
2021-12-13 03:04:37 +01:00
schema :
anyOf :
-
type : integer
format : int64
-
type : string
format : string
2018-09-18 16:09:48 +02:00
securitySchemes :
2022-01-11 05:31:24 +01:00
ApiKey :
2018-09-18 16:09:48 +02:00
type : apiKey
name : X-API-Key
in : header
tags :
-
name : 'Now Playing'
description : 'Endpoints that provide full summaries of the current state of stations.'
-
name: 'Stations : General'
2022-06-07 05:54:42 +02:00
-
name: 'Stations : Broadcasting'
2018-09-18 16:09:48 +02:00
-
name: 'Stations : Song Requests'
2019-04-15 00:12:49 +02:00
-
name: 'Stations : Service Control'
2021-12-29 23:47:35 +01:00
-
name: 'Stations : Automation'
2019-01-29 23:32:32 +01:00
-
name: 'Stations : History'
2022-06-07 05:54:42 +02:00
-
name: 'Stations : HLS Streams'
2018-09-18 16:09:48 +02:00
-
name: 'Stations : Listeners'
2020-02-19 16:05:15 +01:00
-
name: 'Stations : Schedules'
2019-01-03 11:59:44 +01:00
-
name: 'Stations : Media'
2019-04-15 00:12:49 +02:00
-
name: 'Stations : Mount Points'
-
name: 'Stations : Playlists'
2021-05-25 06:29:07 +02:00
-
name: 'Stations : Podcasts'
2019-01-03 11:59:44 +01:00
-
name: 'Stations : Queue'
2019-04-15 00:12:49 +02:00
-
name: 'Stations : Remote Relays'
2021-12-12 12:01:53 +01:00
-
name: 'Stations : SFTP Users'
2019-04-07 10:40:55 +02:00
-
name: 'Stations : Streamers/DJs'
2019-01-03 11:59:44 +01:00
-
2019-04-15 00:12:49 +02:00
name: 'Stations : Web Hooks'
2019-01-29 23:32:32 +01:00
-
name: 'Administration : Custom Fields'
2019-01-03 11:59:44 +01:00
-
name: 'Administration : Users'
2019-07-10 19:45:54 +02:00
-
name: 'Administration : Relays'
2019-01-05 13:02:49 +01:00
-
name: 'Administration : Roles'
2019-01-06 09:57:09 +01:00
-
name: 'Administration : Settings'
2019-04-08 07:09:53 +02:00
-
name: 'Administration : Stations'
2020-12-01 14:45:01 +01:00
-
name: 'Administration : Storage Locations'
2019-01-03 11:59:44 +01:00
-
name : Miscellaneous
2018-09-18 16:09:48 +02:00
externalDocs :
description : 'AzuraCast on GitHub'
url : 'https://github.com/AzuraCast/AzuraCast'