Removed: Get device code - 2025-12-11 12:34 UTC Updated: Devices - 2025-12-11 12:12 UTC Updated: Moved suspendClient and runClient into Clients - 2025-12-10 11:12 UTC Added: Delete option for clients - 2025-12-10 11:05 UTC Updated: Completed Client section (edit, delete) - 2025-12-09 17:30 UTC Added: endDate parameter when adding client - 2025-12-09 17:15 UTC Added: limit and offset parameters to get client info - 2025-12-09 17:05 UTC Updated: Added endDate to Client api - 2025-12-09 16:25 UTC Updated: Change the structure of api documentation - 2025-12-09 14:48 UTC Added: Get channel pack data - 2025-12-09 13:39 UTC Added: Change channel pack data - 2025-12-09 11:46 UTC Added: Delete channel pack - 2025-12-09 11:37 UTC Added: Creation of channel pack - 2025-12-09 11:22 UTC Added: Log for all action into api - 2025-12-09 09:33 UTC Added: Search API with multiple entities - 2025-12-09 Updated: PPV/GROUP pack subscription - 2025-12-06
The API provides programmatic access to read/set/delete data from DTVSol middleware.
To use this API, you need an API key. You can obtain it from your DTVSol middleware, under section Settings
Token:
Aways you must send the token into your http header request: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/" -H "accept: application/json" -H "Token: "
CHANNELS
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
PPV
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
CHANNEL PACKS
get channel pack infoNEW
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/packs/{pack_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
pack_id
Integer
ID of pack
RETURN PARAMETERS
Field
Type
Description
Result
String
[ok|error] - this field can be "ok" or "error".
errorText
String
(optional) When the result is "error", this field contain information.
info
String
All information for selected pack
add channel pack NEW
Base url: /usr/bin/curl -ss -X POST "http://api.dtvsol.info/packs/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"code\":\"\",\"hd\":\"\", \"broadcaster_id\":\"\"}"
QUERY PARAMETERS
Field
Type
Description
name
String
This field is necessary when you add channel pack
code
String
(optional) This field is optional
hd
Boolean [true/false | 0/1]
(optional) Set if this pack is HD (default is false)
broadcaster_id
Integer
(optional) This field is optional
RETURN PARAMETERS
Field
Type
Description
Result
String
[ok|error] - this field can be "ok" or "error".
errorText
String
(optional) When the result is "error", this field contain information.
pack_id
Integer
When the result is "ok", this field contain the ID of the new pack
(optional) When the result is "error", this field contain information.
CLIENTS
get client info
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/clients/{clientId}?limit=10&offset=0" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
clientId
Integer
(optional) Get only information for selected client by ID. If not provided, returns list of all clients.
limit
Integer
(optional) Maximum number of clients to return per request. Only valid when clientId is not provided. Default: without limit.
offset
Integer
(optional) Number of clients to skip before starting to return results (for pagination). Only valid when clientId is not provided. Default: 0.
add client
Base url: /usr/bin/curl -ss -X POST "http://api.dtvsol.info/clients/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\", \"endDate\":\"\"}}"
QUERY PARAMETERS
Field
Type
Description
name
String
The name of the client.
nie
String
(optional) Identification ID of the client.
address
String
(optional) Address of the client.
phone
String
(optional) Phone of the client.
email
String
(optional) E-mail of the client.
vip
Boolean
Set if the client is VIP - do not have end date.
vod
Boolean
Set if the client have permission to watch VOD.
timeshift
Boolean
Set if the client have permission to use Catchup/Timeshift option.
limit
Integer
Set the device limit for this client.
note
String
(optional) Some extra information for this client.
proxyServerId
Integer
ID of proxy server where this client will be connected.
tariffId
Integer
ID of tariff for this client
endDate
DateTime
(optional) Subscription end date for this client. Format: YYYY-MM-DD HH:MM:SS. If not set, the system will automatically set it to the last day of the current month. If vip is true, this field will be ignored.
(optional) When the result is "error", this field contain information.
BROADCASTERS
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
RADIO
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
RESTREAMERS
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
PROXIES
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
TRANSCODERS
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
CONTROL
send fingerprint
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
get data
search UPDATED
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/search?entity=channels&field=name&query=HBO&limit=10" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
entity
String
The entity type to search in. Options: channels, devices, clients, radios, channel_packs, tariffs, proxies, restreamers, transcoders, regions.
field
String
The field to search in. Options depend on entity type:
- channels: id, name, order
- devices: id, uuid, code, mac
- clients: id, name, address, phone, nie, email, region
- radios: id, name, order
- channel_packs: id, name, broadcaster, broadcaster_id
- tariffs: id, name
- proxies: id, name
- restreamers: id, name
- regions: id, name
query
String
The search string to match against the specified field.
limit
Integer
(optional) Maximum number of results to return. Default: 10
get channels
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/{channelId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
channelId
Integer
(optional) Get only information for selected channel by ID.
get radios
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/radios/{radioId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
radioId
Integer
(optional) Get only information for selected radio by ID.
get packs
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/packs/{packId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
packId
Integer
(optional) Get only information for selected pack by ID.
get tariffs
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/tariffs/{tariffId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
tariffId
Integer
(optional) Get only information for selected tariff by ID.
get devices
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/devices/{device_id}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
{device_id}
Integer
Get only information for selected device by ID.
get clients
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/clients/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
clientId
Integer
(optional) Get only information for selected client by ID.
get proxies
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/proxies/{proxyId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
proxyId
Integer
(optional) Get only information for selected proxy by ID.
get restreamers
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/restreamers/{restreamerId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
restreamerId
Integer
(optional) Get only information for selected restreamer by ID.
get transcoders
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/transcoders/{transcoderId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
transcoderId
Integer
(optional) Get only information for selected transcoder by ID.
get server zones
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/serverZones/{zoneId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
zoneId
Integer
(optional) Get only information for selected zone by ID.
get channels groups
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/channelGroups/{groupId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
groupId
Integer
(optional) Get only information for selected group by ID.
get device code
Base url: /usr/bin/curl -ss -X GET "http://api.dtvsol.info/deviceCode/{clientId}" -H "accept: application/json" -H "Token: "
QUERY PARAMETERS
Field
Type
Description
clientId
Integer
Get generated code for Dtvsol application for selected client with ID.
RETURN PARAMETERS
Field
Type
Description
deviceCode
Integer
Generated code for Dtvsol application. This code can be user to add new device.
set data
add client
Base url: /usr/bin/curl -ss -X POST "http://api.dtvsol.info/clients/" -H "accept: application/json" -H "Token: " -d "{\"name\":\"\",\"nie\":\"\",\"address\":\"\",\"phone\":\"\",\"email\":\"\",\"vip\":\"\",\"vod\":\"\",\"limit\":\"\",\"timeshift\":\"\",\"note\":\"\",\"data\":{\"proxyServerId\":\"\",\"tariffId\":\"\"}}"
QUERY PARAMETERS
Field
Type
Description
name
String
The name of the client.
nie
String
(optional) Identification ID of the client.
address
String
(optional) Address of the client.
phone
String
(optional) Phone of the client.
email
String
(optional) E-mail of the client.
vip
Boolean
Set if the client is VIP - do not have end date.
vod
Boolean
Set if the client have permission to watch VOD.
timeshift
Boolean
Set if the client have permission to use Catchup/Timeshift option.
limit
Integer
Set the device limit for this client.
note
String
(optional) Some extra information for this client.
proxyServerId
Integer
ID of proxy server where this client will be connected.
tariffId
Integer
ID of tariff for this client
add device
Base url: /usr/bin/curl -ss -X POST "http://api.dtvsol.info/devices/{clientId}" -H "accept: application/json" -H "Token: " -d "{\"code\":\"\",\"mac\":\"\",\"type\":\"\",\"proxyId\":\"\",\"tariffId\":\"\",\"note\":\"\"}"
QUERY PARAMETERS
Field
Type
Description
code
Integer
(optional) This field is necessary when you add Dtvsol application as device
mac
String
(optional) This field is necessary when you add Dtvsol (old version) application as device.
type
String
You can choose of three type of devices: dtvsol, android, m3u. [dtvsol]-current Dtvsol application, [andorid]-old Dtvsol application, [m3u]-m38 playlist
proxyId
Integer
(optional) ID of proxy server where this device will be connected. If is not set - the system will use proxyId from client information.
tariffId
Integer
(optional) ID of tariff for this device. If is not set - the system will use tariffId from client information.
note
String
(optional) Some extra information for this device.
RETURN PARAMETERS
Field
Type
Description
Result
String
[ok|error] - this field can be "ok" or "error".
errorText
String
(optional) When the result is "error", this field contain information.
deviceId
Integet
(options) When the result is "ok", this field contain the ID of the new generated device
ID of channel - the ID must be from selected pack.
RETURN PARAMETERS
Field
Type
Description
Result
String
[ok|error] - this field can be "ok" or "error".
errorText
String
(optional) When the result is "error", this field contain information.
Errors
The Westeros API uses the following error codes:
Error Code
Meaning
X000
Some parameters are missing. This error appears when you don't pass every mandatory parameters.
X001
Unknown or unvalid secret_key. This error appears if you use an unknow API key or if your API key expired.
X002
Unvalid secret_key for this domain. This error appears if you use an API key non specified for your domain. Developper or Universal API keys doesn't have domain checker.
X003
Unknown or unvalid user token. This error appears if you use an unknow user token or if the user token expired.
Always you must send the token into your HTTP header request:
/usr/bin/curl -ss -X GET "http://api.dtvsol.info/channels/" -H "accept: application/json" -H "Token: "