APIs & SDKs

Confirm API Key

'api_check' will tell you if your API Key is valid or not.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=api_check
{
    "status": "success",
    "message": "you have successfully authenticated to the api"
}

 

 

Get Account Details

'get_account' will return the details of your account.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_account
{
    "status": "success",
    "data": {
        "account_guid": "33769928-8ecc-6d05-7ca0-93d48f2e80f2",
        "status": "active",
        "deleted": "no",
        "company_name": "Example Account",
        "poc_user_guids": null,
        "max_clusters": 1,
        "whitelabel": "no",
        "whitelabel_name_short": null,
        "whitelabel_name_long": null,
        "whitelabel_domain": null,
        "whitelabel_title": null,
        "whitelabel_hide_copyright": "no",
        "whitelabel_copyright": null,
        "clusters": [
        {
            "id": 1,
            "added": 1727869257,
            "updated": null,
            "account_guid": "33769928-8ecc-6d05-7ca0-93d48f2e80f2",
            "cluster_guid": "4fb2101b-3164-1385-2060-c720ac07e774",
            "name": "Example Cluster",
            "rtmp_endpoint": "dev.example.com",
            "hls_endpoint": "watch.example.com",
            "notes": "",
            "deleted": "no",
            "stream_storage_mount_point": "/mnt/recordings",
            "watermark_image": null,
            "api_push_urls_data": "{\"stream_start\":\"https://zeuscluster.com/api/api_test.php?c=stream_start\",\"stream_stop\":\"https://zeuscluster.com/api/api_test.php?c=stream_stop\",\"stream_recording\":\"https://zeuscluster.com/api/api_test.php?c=stream_recording\"}",
            "servers": [
            {
                "id": 23,
                "added": 1728225983,
                "updated": 1730988937,
                ...............
            }
        }
    }
}

 

Get Cluster Details

'get_cluster' will return the details of your cluster.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_cluster
{
    "status": "success",
    "data": {
        "added": 1728245878,
        "updated": null,
        "cluster_guid": "bg9c6f8b-140a-e5fc-deed-8be11a75b67f",
        "name": "Example Cluster",
        "rtmp_endpoint": "rtmp.example.com",
        "hls_endpoint": "watch.example.com",
        "notes": "",
        "deleted": "no",
        "stream_storage_mount_point": "/mnt/recordings",
        "stream_storage_location": "/mnt/recordings/zeuscluster/live_recordings"
    }
}


Get All Servers

'get_servers' will return the details for all servers in your cluster.

'get_servers' will return the details for all servers in your cluster.
{
    "status": "success",
    "data": [
        {
            "added": 1728225983,
            "updated": 1730456007,
            "cluster_guid": "efb2101b-3164-1385-2060-c720ac07e774",
            "server_guid": "68108a79-d9c0-fbaa-a30a-0463f73e1f40",
            "role": "1",
            "status": "offline",
            "name": "RTMP 01",
            "hostname": "rtmp-01.dev.us.example.com",
            "hostname_match": "yes",
            "ip_addresses": "[\"10.254.206.30\"]",
            "wan_ip_address": "1.2.3.4",
            "http_stream_port": 80,
            "uptime": 2119213,
            "connection_speed": 1000,
            "cpu_usage": "2.78",
            "ram_usage": "3.46",
            "disk_usage": "2.00",
            "bandwidth_down": "1657",
            "bandwidth_up": "1780",
            "lat": "",
            "lng": "",
            "country_code": "",
            "country_name": "",
            "region_name": "",
            "city": "",
            "zip_code": "",
            "time_zone": "",
            "os_version": "Ubuntu 24.04.1 LTS",
            "gpu_stats": "",
            "cpu_model": "Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz",
            "cpu_cores": "16",
            "cpu_speed": "2992.968",
            "ram_total": "32862928",
            "kernel": "6.8.0-45-generic",
            "active_connections": 36,
            "notes": null,
            "version": "3.0.0",
            "ffmpeg_active_streams": 0,
            "deleted": "no",
            "recording_storage_total": "0 B",
            "recording_storage_free": "0 B",
            "recording_storage_used": "0 B"
        },
        {
            "added": 1728227676,
            "updated": 1730764725,
            "cluster_guid": "efb2101b-3164-1385-2060-c720ac07e774",
            "server_guid": "52bbff07-a91a-88ea-129a-a86a089bb338",
            "role": "2",
            "status": "online",
            "name": "Trans 01",
            "hostname": "trans-01.dev.us.example.com",
            "hostname_match": "yes",
            "ip_addresses": "[\"10.254.206.32\"]",
            "wan_ip_address": "1.2.3.4",
            "http_stream_port": 80,
            "uptime": 2427910,
            "connection_speed": 1000,
            "cpu_usage": "24.30",
            "ram_usage": "3.80",
            "disk_usage": "2.00",
            "bandwidth_down": "445",
            "bandwidth_up": "8398",
            "lat": "",
            "lng": "",
            "country_code": "",
            "country_name": "",
            "region_name": "",
            "city": "",
            "zip_code": "",
            "time_zone": "",
            "os_version": "Ubuntu 24.04.1 LTS",
            "gpu_stats": "",
            "cpu_model": "Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz",
            "cpu_cores": "16",
            "cpu_speed": "2992.968",
            "ram_total": "32862924",
            "kernel": "6.8.0-45-generic",
            "active_connections": 12,
            "notes": null,
            "version": "3.0.0",
            "ffmpeg_active_streams": 0,
            "deleted": "no",
            "recording_storage_total": "639.09 TB",
            "recording_storage_free": "638.77 TB",
            "recording_storage_used": "333.74 GB"
        }
    ]
}   

Get Server Details

'get_server' will return the details for a specific server in your cluster. You can use GET or POST to supply the variables.

curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_server" \ 
    -d "server_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
{
    "status": "success",
    "data": {
        "added": 1729676753,
        "updated": 1730821286,
        "cluster_guid": "efb2101b-3164-1385-2060-c720ac07e774",
        "server_guid": "8be4c9ee-46f6-1977-9fee-54a287eee1f4",
        "role": "2",
        "status": "online",
        "name": "Dev Server 01",
        "hostname": "dev-server-01.dev.us.example.com",
        "hostname_match": "yes",
        "ip_addresses": "[\"10.254.206.34\"]",
        "wan_ip_address": "1.2.3.4",
        "http_stream_port": 80,
        "uptime": 1144284,
        "connection_speed": 1000,
        "cpu_usage": "22.83",
        "ram_usage": "4.20",
        "disk_usage": "2.00",
        "bandwidth_down": "779",
        "bandwidth_up": "18",
        "lat": "",
        "lng": "",
        "country_code": "",
        "country_name": "",
        "region_name": "",
        "city": "",
        "zip_code": "",
        "time_zone": "",
        "os_version": "Ubuntu 24.04.1 LTS",
        "gpu_stats": "",
        "cpu_model": "Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz",
        "cpu_cores": "16",
        "cpu_speed": "2992.968",
        "ram_total": "32862936",
        "kernel": "6.8.0-45-generic",
        "active_connections": 12,
        "notes": null,
        "version": "3.0.0",
        "ffmpeg_active_streams": 0,
        "deleted": "no",
        "recording_storage_total": "",
        "recording_storage_free": "",
        "recording_storage_used": ""
    },
    "uptime": "13d 5h 51m 24s",
    "server_role": "Transcoding Server"
}    

Get All Streams

'get_streams' will return the details for all streams in your cluster.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_streams
{
    "status": "success",
    "data": [
        {
            "added": 1728714451,
            "updated": 1729655474,
            "cluster_guid": "ac9c6f8b-976a-e5fc-deed-8be11a75b67f",
            "stream_guid": "e5f52fe2-7468-17b9-f11a-5c18755e000d",
            "status": "offline",
            "live_stream_last_updated": 0,
            "is_banned": "no",
            "deleted": "no",
            "name": "Example Stream 1",
            "rtmp_guid": "d5d9c143-dbe6-6e44-b10c-ffd7861178e6",
            "hls_guid": "310d6eed-f7a7-7650-4a80-741caa6e4a05",
            "publisher_ip": "",
            "ingress_server_guid": "",
            "transcoder_server_guid": "",
            "rtmp_ffmpeg_pid": "0",
            "record_stream": "no",
            "stream_start_time": 0,
            "is_high_risk": "no",
            "ai_monitor": "no",
            "trigger_score": "0",
            "notes": "",
            "runtime": ""
        },
        {
            "added": 1728714741,
            "updated": 0,
            "cluster_guid": "ac9c6f8b-976a-e5fc-deed-8be11a75b67f",
            "stream_guid": "d2ab6831-0b66-271a-f398-ffe3571c1947",
            "status": "offline",
            "live_stream_last_updated": 0,
            "is_banned": "no",
            "deleted": "no",
            "name": "Example Stream 2",
            "rtmp_guid": "9ad8068a-1719-6b9c-c8be-6449ef06c594",
            "hls_guid": "4608d516-92cd-af30-f5dd-966951431f6f",
            "publisher_ip": "",
            "ingress_server_guid": "",
            "transcoder_server_guid": "",
            "rtmp_ffmpeg_pid": "0",
            "record_stream": "no",
            "stream_start_time": 0,
            "is_high_risk": "no",
            "ai_monitor": "no",
            "trigger_score": "0",
            "notes": null,
            "runtime": ""
        },
        {
            "added": 1728715265,
            "updated": 0,
            "cluster_guid": "ac9c6f8b-976a-e5fc-deed-8be11a75b67f",
            "stream_guid": "63cf0029-4e5c-3fbb-209e-8c8fc18b4237",
            "status": "offline",
            "live_stream_last_updated": 0,
            "is_banned": "no",
            "deleted": "no",
            "name": "Example Stream 3",
            "rtmp_guid": "47a3de96-8fb1-8817-d6ca-187c60429a0c",
            "hls_guid": "5e0d09b8-9a05-dd5e-aca0-70c5f0bd208b",
            "publisher_ip": "",
            "ingress_server_guid": "",
            "transcoder_server_guid": "",
            "rtmp_ffmpeg_pid": "0",
            "record_stream": "no",
            "stream_start_time": 0,
            "is_high_risk": "no",
            "ai_monitor": "no",
            "trigger_score": "0",
            "notes": null,
            "runtime": ""
        }
    ]
}

Get Stream Details

'get_stream' will return the details for a specific stream in your cluster. You can supply either 'stream_guid' or 'hls_guid' to identify the correct stream.

curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_stream" \ 
    -d "stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_stream" \ 
    -d "hs_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
{
    "status": "success",
    "data": {
        "cluster_guid": "dfb2101b-3164-1385-2060-c720ac07e774",
        "stream_guid": "2af604b4-3166-c1a9-4de6-a7adf89b5458",
        "status": "online",
        "live_stream_last_updated": 1730763602,
        "is_banned": "no",
        "deleted": "no",
        "name": "Example Stream",
        "rtmp_guid": "bb72853c-060b-4938-9adf-2a53274ec642",
        "hls_guid": "cac3e1f1-b7a5-4cc8-8b40-890291afb718",
        "publisher_ip": "1.2.3.4",
        "ingress_server_guid": "58108a79-d9c0-fbaa-a30a-0463f73e1f40",
        "transcoder_server_guid": "42bbff07-a91a-88ea-129a-a86a089bb338",
        "record_stream": "yes",
        "stream_start_time": 1730449045,
        "is_high_risk": "no",
        "ai_monitor": "yes",
        "trigger_score": "0",
        "notes": "",
        "hls_stream": "https://watch.example.com/hls/cac3e1f1-b7a5-4cc8-8b40-890291afb718.m3u8",
        "transcoding_server": {
            "server_guid": "42bbff07-a91a-88ea-129a-a86a089bb338",
            "role": "2",
            "status": "online",
            "name": "Trans 01",
            "hostname": "trans-01.dev.us.example.com",
            "hostname_match": "yes",
            "ip_addresses": "[\"10.254.206.32\"]",
            "wan_ip_address": "1.2.3.4",
            "http_stream_port": 80,
            "uptime": 2426789,
            "connection_speed": 1000,
            "cpu_usage": "22.50",
            "ram_usage": "3.72",
            "disk_usage": "2.00",
            "bandwidth_down": "321",
            "bandwidth_up": "10",
            "lat": "",
            "lng": "",
            "country_code": "",
            "country_name": "",
            "region_name": "",
            "city": "",
            "zip_code": "",
            "time_zone": "",
            "os_version": "Ubuntu 24.04.1 LTS",
            "gpu_stats": "",
            "cpu_model": "Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz",
            "cpu_cores": "16",
            "cpu_speed": "2992.968",
            "ram_total": "32862924",
            "kernel": "6.8.0-45-generic",
            "active_connections": 12,
            "notes": null,
            "version": "3.0.0",
            "ffmpeg_active_streams": 0,
            "deleted": "no",
            "recording_storage_total": "639.09 TB",
            "recording_storage_free": "638.77 TB",
            "recording_storage_used": "332.76 GB"
        },
        "historical_streams": [
            {
                "stream_stats_guid": "ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013",
                "stream_start_time": 1730432033,
                "stream_stop_time": 1730432152,
                "total_viewers": 0,
                "peak_viewers": 2,
                "trigger_score": 0,
                "video_codec": "h264",
                "video_resolution": "1080x1920",
                "video_bitrate": "2.7",
                "video_framerate": "60",
                "audio_codec": "aac",
                "audio_sample_rate": "48000",
                "audio_bitrate": "0.2",
                "recording_name": "bac3e1f1-b7a5-4cc8-8b40-890291afb718-1730432036.mp4",
                "recording_size": "37.17 MB",
                "recording_hls_guid": "bac3e1f1-b7a5-4cc8-8b40-890291afb718",
                "recording_timestamp": 1730432036,
                "recording_server_guid": "50bdd0f5-7f82-f0d8-cd0f-ab66e101f964",
                "mp4_stream": "https://watch.example.com/recording/ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013",
                "mp4_download": "https://watch.example.com/recording/ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013&download=yes"
            }
        ]
    }
}

 

Get Stream Recordings

'get_stream_recordings' will return the details for a specific stream in your cluster. You can supply either 'stream_guid' or 'hls_guid' to identify the correct stream.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_stream_recordings&stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

 

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=get_stream_recordings&hls_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
{
    "status": "success",
    "data": [
        {
            "stream_stats_guid": "ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013",
            "stream_start_time": 1730432033,
            "stream_stop_time": 1730432152,
            "total_viewers": 0,
            "peak_viewers": 2,
            "trigger_score": 0,
            "video_codec": "h264",
            "video_resolution": "1080x1920",
            "video_bitrate": "2.7",
            "video_framerate": "60",
            "audio_codec": "aac",
            "audio_sample_rate": "48000",
            "audio_bitrate": "0.2",
            "recording_name": "bac3e1f1-b7a5-4cc8-8b40-890291afb718-1730432036.mp4",
            "recording_size": "37.17 MB",
            "recording_hls_guid": "bac3e1f1-b7a5-4cc8-8b40-890291afb718",
            "recording_timestamp": 1730432036,
            "recording_server_guid": "52bbff07-a91a-88ea-129a-a86a089bb338",
            "mp4_stream": "https://watch.example.com/recording/ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013",
            "mp4_download": "https://watch.example.com/recording/ecbf8338-3418-5fb8-2ac4-9bfe9e2cd013&download=yes"
        },
        {
            "stream_stats_guid": "5afd95d0-b6e1-1c9b-b4b6-97a895553ceb",
            "stream_start_time": 1730432248,
            "stream_stop_time": 1730433328,
            "total_viewers": 0,
            "peak_viewers": 3,
            "trigger_score": 0,
            "video_codec": "h264",
            "video_resolution": "1080x1920",
            "video_bitrate": "2.9",
            "video_framerate": "60",
            "audio_codec": "aac",
            "audio_sample_rate": "48000",
            "audio_bitrate": "0.2",
            "recording_name": "bac3e1f1-b7a5-4cc8-8b40-890291afb718-1730432251.mp4",
            "recording_size": "343.98 MB",
            "recording_hls_guid": "bac3e1f1-b7a5-4cc8-8b40-890291afb718",
            "recording_timestamp": 1730432251,
            "recording_server_guid": "52bbff07-a91a-88ea-129a-a86a089bb338",
            "mp4_stream": "https://watch.example.com/recording/5afd95d0-b6e1-1c9b-b4b6-97a895553ceb",
            "mp4_download": "https://watch.example.com/recording/5afd95d0-b6e1-1c9b-b4b6-97a895553ceb&download=yes"
        }
    ]
}    

Add New Stream

'add_stream' allows you to add a new stream to your cluster. Spaces are allowed in the 'name' variable. You can use GET or POST to supply the variables.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=add_stream&name=test 123&record_stream=yes&ai_monitor=no
curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=add_stream" \ 
    -d "name=test 123" \
    -d "record_stream=yes" \
    -d "ai_monitor=no"
{
    "status": "success",
    "result": {
        "name": "test 123",
        "cluster_guid": "efb2101b-3164-1385-2060-c720ac07e774",
        "stream_guid": "6fe09774-85d2-d184-a31b-9b39ac8518fe",
        "rtmp_guid": "dbc8d761-8a66-f52e-9f09-ad4c9c6b7760",
        "hls_guid": "0a285dfe-7afe-c7be-6218-263d997ffd84"
    }
}

 

Update Stream

'update_stream' allows you to update a stream to your cluster. You can use GET or POST to supply the variables.

curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=update_stream" \ 
    -d "stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" \ 
    -d "name=New Stream" \ 
    -d "notes=This is an awesome stream." \ 
    -d "record_stream=yes" \
    -d "ai_monitor=no" \
    -d "is_banned=no" \
{
    "status": "success",
    "message": "stream has been updated"
}

 

Generate Stream RTMP Key

'stream_new_rtmp_key' allows you to generate a new RTMP Key for a stream

curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=stream_new_rtmp_key" \ 
    -d "stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
{
    "status": "success",
    "result": {
        "stream_guid": "6fe09774-85d2-d184-a31b-9b39ac8518fe",
        "hls_guid": "0a285dfe-7afe-c7be-6218-263d997ffd84"
    }
}

 

Delete Stream

'delete_Stream' allows you to delete a stream to your cluster. You can use GET or POST to supply the stream_guid.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=delete_stream&stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
curl -X POST "https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=deete_stream" \ 
    -d "stream_guid=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
{
    "status": "success",
    "message": "stream has been deleted"
}

 

Streams to AI Monitor

'streams_to_monitor' will list all streams in your cluster that are configured for AI Content monitoring.

https://zeuscluster.com/api/?auth=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&c=streams_to_monitor
{
    "status": "success",
    "data": [
        {
            "stream_guid": "aaf604b4-3166-c1a9-4de6-a7adf89b5458",
            "hls_guid": "aac3e1f1-b7a5-4cc8-8b40-890291afb718",
            "status": "online",
            "name": "Dev Stream"
        },
        {
            "stream_guid": "40815c3d-ab53-ae1b-a399-0ecc54c8720b",
            "hls_guid": "gf4e6ec7-2e3d-42bb-8787-7973293f610d",
            "status": "offline",
            "name": "News"
        },
        {
            "stream_guid": "bdaf78d9-844b-eff7-7fea-59c8d3db1e78",
            "hls_guid": "31d579a5-59fa-4451-907b-2178e0efedcd",
            "status": "offline",
            "name": "Faith and Family"
        },
        {
            "stream_guid": "f64d2765-6893-0439-83e8-12845ec8e304",
            "hls_guid": "ddbfd36a-4c99-4032-b9ff-475d80f9c2c3",
            "status": "online",
            "name": "Lifestyle"
        }
    ]
}