APIs & SDKs
- Confirm API Key
- Get Account Details
- Get Cluster Details
- Get All Servers
- Get Server Details
- Get All Streams
- Get Stream Details
- Get Stream Recordings
- Add New Stream
- Update Stream
- Generate Stream RTMP Key
- Delete Stream
- Streams to AI Monitor
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"
}
]
}