This API is used to manage Linear Channels.
All requests made to the following API endpoints require a token.
The token should be provided in the headers as:
Authorization: Bearer <token>
The token should either be a valid user token received via the Login API, or a generated token.
A token consists of 40 character long hex value. The value has two different parts:
Organization ID: 13509
Current Time: 1622091600000 (27.05.2021 05:00:00 UTC) -> '60af2750'
Secret: 'secret'
Signature: MD5('13509:60af2750:secret') -> 'cdbd38964c61a03f961763f0e25a09c0'
Generated token: 60af2750cdbd38964c61a03f961763f0e25a09c0
/api/channels/admin
Creates a new Linear Channel.
Method: POST
Name | Value | Requirement | Info |
action | addChannel | Mandatory | |
organizationId | Number | Mandatory | Suite Organization ID |
Name | Data type | Requirement | Info | Default |
name | String | Mandatory | Name of the channel | N/A |
description | String | Optional | Channel description | "" |
logicalChannelNumber | Number | Optional | Channel number | 0 |
aspectRatio | String | Optional | One of: "", "4:3", "16:9" | "" |
primaryLanguage | String | Optional | Primary language, must be a locale code in the form of en_US, fi_FI etc. | "en_US" |
audioOnly | Boolean | Optional | Set to true if the channel is an audio only channel. | false |
categories | Array | Optional | An array of category ID's that the channel should belong to. | [] |
autoRecord | Boolean | Optional | Set to 'true' if the channel should be recorded automatically when it has an incoming stream. | false |
quality | Number | Optional | One of: 0 (HD), 1 (SD) | 0 |
isPublic | Boolean | Optional | Whether the channel should be a public or private channel. | true |
isExclusive | Boolean | Optional | Whether the channel should be exclusive. | false |
locationRestrictions | Array | Optional | An array of location ID's. | [] |
Example body content
{ |
curl -i -H Authorization\:\ Bearer\ <user_token or generated_token> -XPOST https\://suiterc.icareus.com/api/channels/admin\?action\=addChannel\&organizationId\=2631609 -d \{' |
{ "status": "ok", "channel": { "locationRestrictions": [], "isExclusive": false, "originAddress": "10.0.10.208", "aspectRatio": "16:9", "largeIcon": "", "isPublic": true, "primaryLanguage": "fi_FI", "cdnAddress": "suiterc2.icareus.com", "smallIcon": "", "logicalChannelNumber": 1, "serviceId": 12346501, "mediumIcon": "", "description": "This is just an example.", "name": "Channel Example", "quality": 1, "autoRecord": true, "streams": { "total": 12, "transcoder": 0, "items": [ { "preset_name": "SD 576p, 1024x576 (1024kbps)", "preset_id": 11508, "devices": [ { "protection": "", "typeName": "Desktop - Linux", "id": 12346512, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" }, { "protection": "", "typeName": "Desktop - Linux", "id": 12346518, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" } ] }, //... and so on ], "adaptiveItems": [ { "linearDeviceIds": [ 12346502, 12346503, 12346504, 12346505, 12346506, 12346507, 12346508, 12346509, 12346510, 12346511 ], "protection": "", "typeName": "Chrome Browser (Windows)", "presetNames": "SD 576p, 1024x576 (1024kbps), HD 720p, 1280x720 (2048kbps), Full HD 1080p, 1920x1080 (2560kbps), Audio 96K mp3, Fallback (Master size and bitrate), SD 576p, 1024x576 (1024kbps), HD 720p, 1280x720 (2048kbps), Full HD 1080p, 1920x1080 (2560kbps), Audio 96K mp3, Fallback (Master size and bitrate)", "typeId": 3652901, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" }, //... and so on ], "playlist": 0 }, "categories": [], "ingestUrl": "rtmp://live-eu1.icareus.com:1935/suitelive", "streamName": 12346501, "audioOnly": false } } |
{
"errors": {
"categories": [
{
"message": "invalid category ids: 12345 890 ",
"name": "invalid-value"
}
],
"primaryLanguage": [
{
"message": "finnish is not a valid language id",
"name": "invalid-value"
}
]
},
"status": "error"
} |
Updates an existing Linear Channel.
Note: Only fields provided in the request body will be updated.Name | Value | Requirement | Info |
action | updateChannel | Mandatory | |
organizationId | Number | Mandatory | Suite Organization ID |
channelId | Number | Mandatory | Suite Linear Channel serviceId |
Name | Data type | Requirement | Info |
| name | String | Optional | Name of the channel. |
| description | String | Optional | Channel description. |
| logicalChannelNumber | Number | Optional | Channel number. |
| aspectRatio | String | Optional | One of: "", "4:3", "16:9" |
| primaryLanguage | String | Optional | Primary language, must be a locale code in the form of en_US, fi_FI etc. |
| audioOnly | Boolean | Optional | Set to true if the channel is an audio only channel. |
| categories | Array | Optional | An array of cateogy ID's that the channel should belong to. |
| autoRecord | Boolean | Optional | Set to true if the channel should be recorded automatically when it has an incoming stream. |
| quality | Number | Optional | One of: 0 (HD), 1 (SD) |
| isPublic | Boolean | Optional | Whether the channel should be a public or private channel. |
| isExclusive | Boolean | Optional | Whether the channel should be exclusive. |
| locationRestrictions | Array | Optional | An array of location ID's. |
{
"description": "Updating the description.",
"logicalChannelNumber": 69
} |
curl -i -H Authorization\:\ Bearer\ <user_token or generated_token> -XPOST https\://suiterc.icareus.com/api/channels/admin\?action\=updateChannel\&organizationId\=2631609\&channelId\=12346501 -d \{'
'\ \"description\"\:\ \"Updating\ the\ description.\"\,'
'\ \"logicalChannelNumber\"\:\ 69'
'\}'
' |
Example of a successful response
{ "status": "ok", "channel": { "isExclusive": false, "locationRestrictions": [], "originAddress": "10.0.10.208", "aspectRatio": "16:9", "largeIcon": "", "isPublic": true, "primaryLanguage": "fi_FI", "cdnAddress": "suiterc2.icareus.com", "smallIcon": "", "logicalChannelNumber": 69, "serviceId": 12346501, "mediumIcon": "", "description": "Updating the description.", "name": "Channel Example", "quality": 1, "autoRecord": true, "streams": { "total": 12, "transcoder": 0, "items": [ { "preset_name": "SD 576p, 1024x576 (1024kbps)", "preset_id": 11508, "devices": [ { "protection": "", "typeName": "Desktop - Linux", "id": 12346512, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" }, { "protection": "", "typeName": "Desktop - Linux", "id": 12346518, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" } ] }, //... and so on ], "adaptiveItems": [ { "linearDeviceIds": [ 12346502, 12346503, 12346504, 12346505, 12346506, 12346507, 12346508, 12346509, 12346510, 12346511 ], "protection": "", "typeName": "Chrome Browser (Windows)", "presetNames": "SD 576p, 1024x576 (1024kbps), HD 720p, 1280x720 (2048kbps), Full HD 1080p, 1920x1080 (2560kbps), Audio 96K mp3, Fallback (Master size and bitrate), SD 576p, 1024x576 (1024kbps), HD 720p, 1280x720 (2048kbps), Full HD 1080p, 1920x1080 (2560kbps), Audio 96K mp3, Fallback (Master size and bitrate)", "typeId": 3652901, "url": "https://suiterc2.icareus.com/suitelive/12346501/playlist.m3u8" }, //... and so on ], "playlist": 0 }, "categories": [], "ingestUrl": "rtmp://live-eu1.icareus.com:1935/suitelive", "streamName": 12346501, "audioOnly": false } } |
{
"errors": {
"name": [
{
"message": "minimum length: 1",
"name": "invalid-value"
}
]
},
"status": "error"
} |
Delete a Linear Channel.
Name | Value | Requirement | Info |
| action | deleteChannel | Mandatory | |
| organizationId | Number | Mandatory | Suite Organization ID |
| channelId | Number | Mandatory | Suite Linear Channel serviceId |
curl -i -H Authorization\:\ Bearer\ <user_token or generated_token> -XPOST https\://suiterc.icareus.com/api/channels/admin\?action\=deleteChannel\&organizationId\=2631609\&channelId\=12346701 |
{ "message": "12346701", "status": "ok" } |
|
Name | Value | Requirement | Info |
| action | getChannel | Mandatory | |
| organizationId | Number | Mandatory | Suite Organization ID |
| channelId | Number | Mandatory | Suite Linear Channel serviceId |
curl -i -H Authorization\:\ Bearer\ <user_token or generated_token> -XGET https\://suiterc.icareus.com/api/channels/admin\?action\=getChannel\&organizationId\=2631609\&channelId\=12346001 |
{
"message": "invalid-channel-id",
"status": "error"
} |
Name | Value | Requirement | Info |
| action | getChannels | Mandatory | |
| organizationId | Number | Mandatory | Suite Organization ID |
curl -i -H Authorization\:\ Bearer\ <user_token or generated_token> -XGET https\://suiterc.icareus.com/api/channels/admin\?action\=getChannels\&organizationId\=2631609\ |
{
"message": "invalid-organization-id",
"status": "error"
} |

Name | Value | Requirement | Info |
| action | addChannelIcon | Mandatory | |
| organizationId | Number | Mandatory | Suite Organization ID |
| channelId | Number | Mandatory | Suite Linear Channel serviceId |
Name | Value | Requirement | Info |
| channelIcon | Image File | Mandatory | The image file you wish to upload. |
curl --location -XPOST 'https://suiterc.icareus.com/api/channels/admin?action=addChannelIcon&organizationId=2631609&channelId=12346001' \ -H 'Content-Type: multipart/form-data' \ -H 'Authorization: Bearer <user_token or generated_token>' \ -F 'channelIcon=@"/path/to/Pictures/wizard.gif"' |
|