Create Push Stream
Create a Push stream
curl -X POST "https://api.5centscdn.com/v2/streams/push/new" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"_METHOD": "PUT",
"name": "sample/stream",
"server": "11,211",
"codec": "h264",
"protocols": [
"HLS"
],
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": [
"test.com",
"google.com"
],
"noreferer": "N",
"ips": []
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [],
"ips": []
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": [],
"ips": []
},
"ndvr": {
"enabled": "Y",
"retention": 5
},
"record": {
"server": 1,
"enabled": "Y",
"retention": 3
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"list": "32862cdb6276e19a",
"ips": "",
"keyip": "N",
"session": "0",
"timeout": 3600,
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"vprofiles": [
14931,
14937
],
"aprofiles": [
14931
],
"filters": [
3,
4
],
"draft": 0
}'
import requests
import json
url = "https://api.5centscdn.com/v2/streams/push/new"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"_METHOD": "PUT",
"name": "sample/stream",
"server": "11,211",
"codec": "h264",
"protocols": [
"HLS"
],
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": [
"test.com",
"google.com"
],
"noreferer": "N",
"ips": []
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [],
"ips": []
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": [],
"ips": []
},
"ndvr": {
"enabled": "Y",
"retention": 5
},
"record": {
"server": 1,
"enabled": "Y",
"retention": 3
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"list": "32862cdb6276e19a",
"ips": "",
"keyip": "N",
"session": "0",
"timeout": 3600,
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"vprofiles": [
14931,
14937
],
"aprofiles": [
14931
],
"filters": [
3,
4
],
"draft": 0
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/push/new", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"_METHOD": "PUT",
"name": "sample/stream",
"server": "11,211",
"codec": "h264",
"protocols": [
"HLS"
],
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": [
"test.com",
"google.com"
],
"noreferer": "N",
"ips": []
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [],
"ips": []
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": [],
"ips": []
},
"ndvr": {
"enabled": "Y",
"retention": 5
},
"record": {
"server": 1,
"enabled": "Y",
"retention": 3
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"list": "32862cdb6276e19a",
"ips": "",
"keyip": "N",
"session": "0",
"timeout": 3600,
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"vprofiles": [
14931,
14937
],
"aprofiles": [
14931
],
"filters": [
3,
4
],
"draft": 0
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"_METHOD": "PUT",
"name": "sample/stream",
"server": "11,211",
"codec": "h264",
"protocols": [
"HLS"
],
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": [
"test.com",
"google.com"
],
"noreferer": "N",
"ips": []
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [],
"ips": []
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": [],
"ips": []
},
"ndvr": {
"enabled": "Y",
"retention": 5
},
"record": {
"server": 1,
"enabled": "Y",
"retention": 3
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"list": "32862cdb6276e19a",
"ips": "",
"keyip": "N",
"session": "0",
"timeout": 3600,
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"vprofiles": [
14931,
14937
],
"aprofiles": [
14931
],
"filters": [
3,
4
],
"draft": 0
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/streams/push/new", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.5centscdn.com/v2/streams/push/new')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
request.body = '{
"_METHOD": "PUT",
"name": "sample/stream",
"server": "11,211",
"codec": "h264",
"protocols": [
"HLS"
],
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": [
"test.com",
"google.com"
],
"noreferer": "N",
"ips": []
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [],
"ips": []
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": [],
"ips": []
},
"ndvr": {
"enabled": "Y",
"retention": 5
},
"record": {
"server": 1,
"enabled": "Y",
"retention": 3
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"list": "32862cdb6276e19a",
"ips": "",
"keyip": "N",
"session": "0",
"timeout": 3600,
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"vprofiles": [
14931,
14937
],
"aprofiles": [
14931
],
"filters": [
3,
4
],
"draft": 0
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Stream Created",
"stream": {
"monitoring_id": null,
"type": "push",
"id": "monitor-12345",
"serviceid": 103,
"name": "sample/stream",
"codec": "h264",
"ingests": [
[],
null
],
"protocols": [
[
"HLS"
],
[
"HLS"
]
],
"parentid": null,
"server": "201",
"backup": "",
"dedicatedLTC": "0",
"hasAdvancedFeatures": "0",
"monitoring_triggers": null,
"draft": "0",
"disabled": "0",
"created_at": "2026-04-30 07:12:35",
"updated_at": "2026-04-30 07:12:35",
"lastseen_at": false,
"deleted": null,
"ingestsLock": 0,
"protocolsLock": 1,
"status": "Deploying",
"has": {
"rtmp": 0,
"rtsp": 0,
"hls": 1,
"dash": 0,
"rtmpauth": false
},
"fms": {
"server": {
"country": "North America",
"meta": {
"fmsUrl": "rtmp://fms-01-01.5centscdn.com"
}
}
},
"parts": {
"pp": "test",
"sn": "stream",
"full": "samplestream"
},
"restream": {},
"playbackurls": {
"scheme": "https",
"url_prefix": "https://stream-abc12-hls-live.stream.example.com",
"rtmp": "rtmp://rtmp.5centscdn.com:1935/",
"rtsp": "rtsp://rtsp.5centscdn.com:554/",
"hlsManifest": "playlist_dvr.m3u8",
"dashManifest": "manifest_dvr.mpd",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com",
"players": {
"flowplayer": {
"baseQ": "",
"base": "https://cdn.example.com/flowplayer/hls/",
"hls": "https://cdn.example.com/flowplayer/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"videojs": {
"baseQ": "",
"base": "https://cdn.example.com/videojs/hls/",
"hls": "https://cdn.example.com/videojs/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"own": {
"baseQ": "?showcv=true&title=sample/stream",
"base": "https://cdn.example.com/player/hls/skin1//",
"hls": "https://cdn.example.com/player/hls/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=sample/stream",
"dash": "https://cdn.example.com/player/dash/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=sample/stream"
}
},
"tokenized": {
"scheme": "https",
"url_prefix": "https://stream-abc12-hls-live.stream.example.com",
"rtmp": "rtmp://rtmp.5centscdn.com:1935/",
"rtsp": "rtsp://rtsp.5centscdn.com:554/",
"hlsManifest": "playlist_dvr.m3u8",
"dashManifest": "manifest_dvr.mpd",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com",
"players": {
"hostname": "cdn.example.com",
"flowplayer": {
"baseQ": "",
"base": "https://cdn.example.com/flowplayer/hls/",
"hls": "https://cdn.example.com/flowplayer/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"dash": "https://cdn.example.com/flowplayer/dash/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"videojs": {
"baseQ": "",
"base": "https://cdn.example.com/videojs/hls/",
"hls": "https://cdn.example.com/videojs/hls/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4",
"dash": "https://cdn.example.com/videojs/dash/aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4"
},
"own": {
"baseQ": "?showcv=true&title=sample/stream",
"base": "https://cdn.example.com/player/hls/skin1//",
"hls": "https://cdn.example.com/player/hls/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=sample/stream",
"dash": "https://cdn.example.com/player/dash/skin1//aHR0cHM6Ly9zdHJlYW0uZXhhbXBsZS5jb20vc2FtcGxlL3N0cmVhbS9wbGF5bGlzdC5tM3U4?showcv=true&title=sample/stream"
}
},
"path": {
"hls": "/test/a4c1f924c3f3377575755f900a6ea602.sdp/playlist_dvr.m3u8",
"dash": "/test/a4c1f924c3f3377575755f900a6ea602.sdp/manifest_dvr.mpd"
},
"token": {
"hls": "md5=35407AnGQdcg91jyMybBnQ&path=%2Ftest%2Fa4c1f924c3f3377575755f900a6ea602.sdp&expires=1777536769",
"dash": "md5=35407AnGQdcg91jyMybBnQ&path=%2Ftest%2Fa4c1f924c3f3377575755f900a6ea602.sdp&expires=1777536769"
}
}
},
"platformsCount": 0,
"ssl_enabled": true,
"hash": "a4c1f924c3f3377575755f900a6ea602.sdp",
"ndvr": {
"enabled": "Y",
"retention": "5"
},
"securetoken": {
"enabled": "Y",
"policy": "D",
"keyip": "N",
"list": "32862cdb6276e19a",
"timeout": 3600,
"session": "0",
"ips": "",
"dirs": null,
"active": "Y"
},
"transcode": {
"ltc": 0,
"type": "mixed",
"enabled": false,
"isEditable": true
},
"domainlock": {
"enabled": "Y",
"policy": "Y",
"list": "example.com,docs.example.com",
"ips": "",
"noreferer": "N",
"active": "Y"
},
"geoblock": {
"enabled": "Y",
"policy": "Y",
"list": [
""
],
"ips": "",
"active": "Y"
},
"ipaccess": {
"enabled": "Y",
"policy": "N",
"list": "",
"ips": "",
"active": "N"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N",
"active": "N",
"listArr": [
""
]
},
"adInsertion": null,
"record": {
"enabled": "Y",
"retention": "3",
"stream": {
"id": 72200,
"type": "record"
}
},
"rtmpauth": {
"password": "",
"active": "N"
},
"platforms": [],
"messages": {}
},
"warnings": null,
"errors": null
}
/streams/push/new
Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
HTTP method override for this request. This endpoint accepts POST, but set this to PUT to perform an update operation.
The unique name of the stream. Must be 4 to 32 characters long and follow the format string(4,32)/string(4,32).
The server identifier for the streaming setup. Examples include 20 (Singapore), 2 (Europe), 211 (North America), 209 (Oceania).
Video codec for the stream. Use h264 or h265.
A list of supported streaming protocols. Examples include RTMP, RTSP, HLS, and DASH.
Settings for restricting stream access to specific domains.
Settings for restricting access based on geographic locations.
Settings for limiting or granting stream access based on IPs.
nDVR (network DVR) settings for the stream.
DVR recording settings for the stream.
Secure token settings for stream access control.
User agent access control settings.
An array of unique IDs representing video profiles for encoding.
An array of unique IDs representing audio profiles for encoding.
An array of unique IDs representing filters applied to the stream.
Indicates draft mode status. Use 0 for disabled and 1 for enabled.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Body
HTTP method override for this request. This endpoint accepts POST, but set this to PUT to perform an update operation.
PUTThe unique name of the stream. Must be 4 to 32 characters long and follow the format string(4,32)/string(4,32).
sample/streamThe server identifier for the streaming setup. Examples include 20 (Singapore), 2 (Europe), 211 (North America), 209 (Oceania).
11,211A list of supported streaming protocols. Examples include RTMP, RTSP, HLS, and DASH.
["HLS"]Settings for restricting stream access to specific domains.
Settings for restricting access based on geographic locations.
Settings for limiting or granting stream access based on IPs.
nDVR (network DVR) settings for the stream.
DVR recording settings for the stream.
Secure token settings for stream access control.
User agent access control settings.
Responses
Status of the API response.
Human-readable message describing the result.
Stream object containing configuration and status details.
Non-fatal warnings returned with the response.
Errors returned with the response.