Control Panel — API Documentation



This API system retrieves information regarding all playlists for your account. The response contains the information on how the playlists are to be played.

Example Code (PHP)

    $request = array(
        'command' => 'channel.getallchannels',
        'api_key' => 'APX4GKLM0RKQLSP2FBO1ROPKSSW47DZE',
        'timestamp' => time(),
        'cdn' => 158,
        'include_videos' => true, /* optional */
        'active' => 1 /* optional */
        'app' => 'demo-origin', /* optional */
        'stream' => 'my_channel', /* optional */
        //Create request signature
    $json_request = json_encode($request);
    $sig = base64_encode(hash_hmac('sha256', $json_request,
        '8fc8c48da81e6a2a06a9556379bf798af508dc0792497c678b4c3532ba8b637f', true));
    $request['signature'] = $sig;
    $json_request = json_encode($request);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, ''); // Set the URL
    curl_setopt($ch, CURLOPT_POST, true); // Perform a POST
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // If not set, curl prints output to the browser
    curl_setopt($ch, CURLOPT_HEADER, false); // If set, curl returns headers as part of the data stream
    curl_setopt($ch, CURLOPT_POSTFIELDS, array('json' => $json_request)); //'Json' string or 'PHP' serialized return
    //If your PHP host does not have a proper SSL certificate bundle, you will need to turn off SSL Certificate Verification
    //This is dangerous, and should only be done temporarily until a proper certificate bundle can be installed
    //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // Turns off verification of the SSL certificate.
    //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Turns off verification of the SSL certificate.
    $response = curl_exec($ch); //Execute the API Call
    if (!$response) {
        die('Failed to connect to ScaleEngine API');
    //Decode the response as an associative array 
    $arrResponse = json_decode($response, true); 
    if ($arrResponse) {
        //Operation completed successfully
        //TODO Add work here
    } else {
        //Operation failed
        echo 'An error occured processing your request:';

Request Fields

command [REQUIRED] [string] - API command to execute
cdn [REQUIRED] [int] - The ScaleEngine CDN ID of your account
api_key [REQUIRED] [string] - The API key provided as part of your account
timestamp [REQUIRED] [int] - The unix timestamp of your request, used to prevent authenticated API requests from being replayed
app [OPTIONAL] [mixed] The ScaleEngine Application name or an array of Application names
stream [OPTIONAL] [string] - Stream name
active [OPTIONAL] [int] - Limit playlists based on the active value of 1 or 0. default null, returns all playlists.
include_videos [OPTIONAL] [boolean] - when set to true, playlists will also include their videos. default is false

Example Result (JSON)

    "message": "channels Found",
    "status": "success",
    "data" : [{
            "channel_id" : 1000,
            "channel_name" : "My first playlist",
            "app" : "demo-origin",
            "app_inst" : "live",
            "stream" : "my_channel_stream_name",
            "repeat" : 1,
            "scheduled" : "2014-10-13 15:00:00",
            "last_modified" : "2014-10-13 16:45:00",
            "active" : 1,
            "ga_key" : "",
            "videos" : [{
                "channel_video_id" : 1,
                "video" : "sestore1/username/path/play_first.mp4",
                "start" : 0,
                "length" : -1,
                "sort_order" => 1
            "channel_id" : 1001,
            "channel_name" : "My second playlist",
            "app" : "demo-origin",
            "app_inst" : "live",
            "stream" : "my_channel_stream_name_2",
            "repeat" : 1,
            "scheduled" : "2014-10-13 15:00:00",
            "last_modified" : "2014-10-13 16:45:00",
            "active" : 1,
            "ga_key" : "",
            "videos" : [{
                "channel_video_id" : 1,
                "video" : "sestore1/username/path/play_first.mp4",
                "start" : 0,
                "length" : -1,
                "sort_order" => 1
    "handle_time":"0.3795 seconds"

Result Fields

message [string] - Debugging message
status [string] - "success" or "failure"
data [array] - Array of Playlists and detailed information
channel_id [int] - The unique id of the Playlist
channel_name [string] - the descriptive name of the Playlist.
app [string] - The ScaleEngine Application name
app_inst [string] - the ScaleEngine Application instance name
stream [string] - The name of the Channel that the playlist will played on.
repeat [int] - Determines if the playlist should repeat or how it should be handled once it is finished.
0 - Channel will shutdown, until the next scheduled playlist.
1 - Playlist will loop continuously, until a new playlist is scheduled.
2 - Channel will fallback to a previous repeating playlist that is marked as active.
scheduled [string] - Date and time that the playlist will be scheduled to play.
last_modified [string] - The Date and time that the playlist was last modified.
active [int] - Shows if a playlist is available to be played.
0 - playlist is inactive, or has finished playing.
1 - playlist is waiting for the scheduled time and will be played.
2 - playlist has finished, and was set to fallback to a previous playlist.
ga_key [string] - Google Analytics key assigned to the stream or channel.
videos [array] - Array of Videos
channel_video_id [int] - The unique ID of the playlist item
video [string] - The stream name or path of the VOD video the user is restricted to. VOD examples look like like: sestore3/username/path/filename.mp4
start [int] - the time in seconds where the VOD file should begin. set to 0 to start at the beginning.
length [int] - the number of seconds to play of the stream or VOD file.
-1 to play to the end of a VOD file
-2 to play to the end of a live stream
sort_order [int] - the order in which the video should appear in the playlist.
handle_time [float] - The amount of time spent processing your request