Add Platform
Add the platform of a push stream
curl -X POST "https://api.5centscdn.com/v2/streams/push/1001/platforms" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"platform[name]": "Custom RTMP",
"platform[rtmp]": "rtmp://rtmp.5centscdn.com:1935/",
"platform[key]": "password",
"platform[auth]": "Y",
"platform[username]": "admin",
"platform[password]": "password",
"platform[ltc]": 0,
"platform[vprofiles]": 106257,
"platform[aprofiles]": 106257,
"platform[filters]": [
3,
4
],
"platform[schedule]": "instant",
"platform[scheduleontime]": "14:00",
"platform[scheduleondatetime]": "2026-01-01 00:00:00",
"platform[length]": 40
}'
import requests
import json
url = "https://api.5centscdn.com/v2/streams/push/1001/platforms"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"platform[name]": "Custom RTMP",
"platform[rtmp]": "rtmp://rtmp.5centscdn.com:1935/",
"platform[key]": "password",
"platform[auth]": "Y",
"platform[username]": "admin",
"platform[password]": "password",
"platform[ltc]": 0,
"platform[vprofiles]": 106257,
"platform[aprofiles]": 106257,
"platform[filters]": [
3,
4
],
"platform[schedule]": "instant",
"platform[scheduleontime]": "14:00",
"platform[scheduleondatetime]": "2026-01-01 00:00:00",
"platform[length]": 40
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/push/1001/platforms", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"platform[name]": "Custom RTMP",
"platform[rtmp]": "rtmp://rtmp.5centscdn.com:1935/",
"platform[key]": "password",
"platform[auth]": "Y",
"platform[username]": "admin",
"platform[password]": "password",
"platform[ltc]": 0,
"platform[vprofiles]": 106257,
"platform[aprofiles]": 106257,
"platform[filters]": [
3,
4
],
"platform[schedule]": "instant",
"platform[scheduleontime]": "14:00",
"platform[scheduleondatetime]": "2026-01-01 00:00:00",
"platform[length]": 40
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"platform[name]": "Custom RTMP",
"platform[rtmp]": "rtmp://rtmp.5centscdn.com:1935/",
"platform[key]": "password",
"platform[auth]": "Y",
"platform[username]": "admin",
"platform[password]": "password",
"platform[ltc]": 0,
"platform[vprofiles]": 106257,
"platform[aprofiles]": 106257,
"platform[filters]": [
3,
4
],
"platform[schedule]": "instant",
"platform[scheduleontime]": "14:00",
"platform[scheduleondatetime]": "2026-01-01 00:00:00",
"platform[length]": 40
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/streams/push/1001/platforms", 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/1001/platforms')
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 = '{
"platform[name]": "Custom RTMP",
"platform[rtmp]": "rtmp://rtmp.5centscdn.com:1935/",
"platform[key]": "password",
"platform[auth]": "Y",
"platform[username]": "admin",
"platform[password]": "password",
"platform[ltc]": 0,
"platform[vprofiles]": 106257,
"platform[aprofiles]": 106257,
"platform[filters]": [
3,
4
],
"platform[schedule]": "instant",
"platform[scheduleontime]": "14:00",
"platform[scheduleondatetime]": "2026-01-01 00:00:00",
"platform[length]": 40
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Platform Created",
"stream": {
"type": "push",
"id": 51605,
"serviceid": 103,
"name": "kola/deloa",
"codec": "h264",
"protocols": [
[
"HLS"
],
[
"HLS"
]
],
"parentid": null,
"server": "201",
"backup": "",
"draft": "0",
"disabled": "0",
"created_at": "2024-12-30 02:57:15",
"updated_at": "2024-12-30 03:36:27",
"lastseen_at": false,
"deleted": null,
"protocolsLock": 1,
"status": "Deploying",
"has": {
"rtmp": 0,
"rtsp": 0,
"hls": 1,
"dash": 0,
"rtmpauth": true
},
"fms": {
"server": {
"country": "Oceania",
"meta": {
"fmsUrl": "rtmp://fms-01-01.5centscdn.com"
}
}
},
"parts": {
"pp": "kola",
"sn": "deloa",
"full": "koladeloa"
},
"restream": {},
"playbackurls": {
"scheme": "http",
"url_prefix": "http://onetwo.5centscdndemo.ca",
"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://hash-hls-live.5centscdn.com"
},
"videojs": {
"baseQ": "",
"base": "https://cdn.example.com/videojs/hls/",
"hls": "https://hash-hls-live.5centscdn.com"
},
"own": {
"hashes": {
"hash": "4vwupwi1g6ecej9r",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com",
"base64": "aHR0cDovL2V4YW1wbGUuY29tL3BsYXlsaXN0Lm0zdTg=",
"base64dash": "aHR0cDovL2V4YW1wbGUuY29tL21hbmlmZXN0Lm1wZA=="
},
"baseQ": "?showcv=true&title=kola/deloa",
"base": "https://cdn.example.com/player/hls/skin1/example",
"hls": "https://hash-hls-live.5centscdn.com",
"dash": "https://hash-hls-live.5centscdn.com"
}
}
},
"platformsCount": 1,
"ssl_enabled": false,
"hash": "fa7d3f6b626222cd40d75e09ec026da1.sdp",
"ndvr": {
"enabled": "Y",
"retention": "33"
},
"securetoken": {
"enabled": "Y",
"policy": "F",
"keyip": "Y",
"list": "",
"timeout": 3600,
"session": "0",
"ips": "1.1.1.1,2.2.2.2",
"dirs": null,
"active": "N"
},
"record": {
"enabled": "Y",
"retention": "14",
"stream": null
},
"domainlock": {
"enabled": "Y",
"policy": "N",
"list": "",
"ips": "1.1.1.1,2.2.2.2",
"noreferer": "Y",
"active": "Y"
},
"geoblock": {
"enabled": "Y",
"policy": "N",
"list": [
"GB",
"US"
],
"ips": "1.1.1.1,2.2.2.2",
"active": "Y"
},
"ipaccess": {
"enabled": "Y",
"policy": "Y",
"list": "8.8.8.8,9.9.9.9",
"ips": "1.1.1.1",
"active": "Y"
},
"useragent": {
"enabled": "Y",
"policy": "Y",
"list": "Array",
"ips": "1.1.1.1",
"casesensitive": "Y",
"active": "Y",
"listArr": [
"Mozilla/5.0",
"Chrome/91.0"
]
},
"rtmpauth": {
"password": "passsword",
"active": "N"
},
"transcode": {
"id": 51605,
"type": "mixed",
"ltc": 2,
"vprofiles": [
"12345",
"12345"
],
"aprofiles": [
"12345"
],
"filters": [
"3",
"4"
],
"disabled": "0",
"warnings": [
"'source' profile cannot be enabled when filters are active."
],
"enabled": true,
"count": 2,
"countRaw": 2,
"codec": null,
"profiles": {
"count": {
"total": 0
}
},
"isEditable": true
},
"platforms": [
{
"id": 42086,
"relid": 51605,
"name": "Custom RTMP",
"rtmp": "rtmp://rtmp.5centscdn.com:1935/",
"key": "password",
"auth": "Y",
"username": "admin",
"password": "password",
"schedule": "instant",
"scheduletime": null,
"length": "00:00",
"platform_id": 1,
"provider_id": 0,
"video_id": "",
"disabled": "0",
"transcode": {
"type": "sd",
"enabled": false,
"isEditable": true
}
}
]
}
}
/streams/push/{streamid}/platformsTarget server for requests. Edit to use your own host.
API key (sent in header)
Stream ID
The media type of the request body
The name of the platform. Examples include Custom RTMP or YouTube.
The RTMP URL used for streaming to the platform.
The stream key required for authentication with the platform.
Indicates if authentication is required. Y means enabled, N means not required.
The username for platform authentication.
The password for platform authentication, paired with the username.
A configuration setting related to the platform. 1 means enabled, 0 means disabled.
The video profile identifier used by the platform. Specifies the quality or format of the video stream.
The audio profile identifier used by the platform. Specifies the quality or format of the audio stream.
A list of filter IDs applied to the platform stream.
The scheduling type for the platform stream. Values include instant or scheduled.
The specific time for a scheduled stream in hh:mm format. Used when schedule is scheduleontime.
The full date and time for a scheduled stream. Used when schedule is scheduleondatetime.
The duration of the stream in minutes.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Path Parameters
Body
The name of the platform. Examples include Custom RTMP or YouTube.
Custom RTMPThe RTMP URL used for streaming to the platform.
rtmp://rtmp.5centscdn.com:1935/Indicates if authentication is required. Y means enabled, N means not required.
YThe password for platform authentication, paired with the username.
passwordA configuration setting related to the platform. 1 means enabled, 0 means disabled.
0The video profile identifier used by the platform. Specifies the quality or format of the video stream.
106257The audio profile identifier used by the platform. Specifies the quality or format of the audio stream.
106257The scheduling type for the platform stream. Values include instant or scheduled.
instantThe specific time for a scheduled stream in hh:mm format. Used when schedule is scheduleontime.
14:00The full date and time for a scheduled stream. Used when schedule is scheduleondatetime.
2026-01-01 00:00:00Responses
Status of the API response.
Human-readable message describing the result.
Stream object containing configuration and status details.
Type identifier for this stream or object.
Unique numeric identifier.
Unique identifier of the service this stream belongs to.
Name of the stream.
Video codec used for the stream.
Supported streaming protocols for each server.
Identifier of the parent stream, if this is a child stream.
Server ID or identifier assigned to the stream.
Backup server ID for failover.
Draft status flag. 0 means published; 1 means unpublished draft.
Disabled flag. 0 means active; 1 means disabled.
Timestamp when the stream was created.
Timestamp when the stream was last updated.
Timestamp when the stream was last detected as active.
Deletion timestamp, or null if the stream is not deleted.
Whether the supported protocol list is locked from editing.
Current deployment or operational status of the stream.
Flags indicating which streaming protocols are active.
Whether RTMP streaming is enabled. 1 = enabled, 0 = disabled.
Whether RTSP streaming is enabled. 1 = enabled, 0 = disabled.
Whether HLS streaming is enabled. 1 = enabled, 0 = disabled.
Whether DASH streaming is enabled. 1 = enabled, 0 = disabled.
Whether RTMP publish authentication is required.
Flash Media Server ingest configuration for the stream.
Server ID or identifier assigned to the stream.
Geographic region of the ingest server.
Metadata object for the server.
RTMP ingest URL for the assigned FMS server.
Stream name components.
Stream name prefix (part 1, before the slash).
Stream name suffix (part 2, after the slash).
Combined full stream name without the slash separator.
Restream platform configuration object.
Playback URL set for all supported protocols and player types.
URL scheme used for playback.
Base CDN hostname URL used as a prefix for playback URLs.
RTMP playback or destination URL.
RTSP playback URL.
HLS manifest filename.
DASH manifest filename.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Embedded player iframe URL set for supported player types.
Flowplayer iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
Video.js player iframe URL information.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
Native stream player iframe URL information.
Map of CDN hostname to stream hashes and playback URLs.
Short hash or slug used in stream URLs.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Base64-encoded HLS playback URL for use with iframe players.
Base64-encoded DASH playback URL for use with iframe players.
Query string appended to the player iframe URL.
Base player iframe URL without the stream path.
HLS playback or player iframe URL.
DASH playback or player iframe URL.
Number of external restreaming platforms configured.
Whether HTTPS/SSL is enabled for playback.
Short hash or slug used in stream URLs.
Network DVR (nDVR) rewind configuration for the stream.
Enable or disable this feature.
Retention period in days (record) or minutes (nDVR).
Secure token URL signing configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Whether the token is bound to the viewer IP address.
Comma-separated list of allowed or blocked values.
Token expiry time in seconds.
Session-based token mode flag.
IP addresses associated with the access control policy.
URL directory paths restricted by this policy.
Whether this policy is currently enforced.
Recording (DVR) configuration for the stream.
Enable or disable this feature.
Retention period in days (record) or minutes (nDVR).
Stream object containing configuration and status details.
Domain lock (hotlink protection) configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether to allow playback requests with no Referer header.
Whether this policy is currently enforced.
Geoblocking access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether this policy is currently enforced.
IP address access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether this policy is currently enforced.
User-agent based access control configuration.
Enable or disable this feature.
Policy mode controlling allow/deny behavior.
Comma-separated list of allowed or blocked values.
IP addresses associated with the access control policy.
Whether user-agent pattern matching is case-sensitive.
Whether this policy is currently enforced.
User-agent filter list as a parsed array.
Whether RTMP publish authentication is required.
Password for RTMP publish authentication.
Whether this policy is currently enforced.
Live transcoding configuration for the stream.
Unique numeric identifier.
Type identifier for this stream or object.
Live transcoding server ID assigned to this stream.
List of video transcoding profile IDs applied to this stream.
List of audio transcoding profile IDs applied to this stream.
List of transcoding filter IDs applied to this stream.
Disabled flag. 0 means active; 1 means disabled.
Non-fatal warnings returned with the response.
Enable or disable this feature.
Number of active transcoding profiles.
Total number of transcoding profiles including inactive.
Video codec used for the stream.
Transcoding profile count summary.
Number of active transcoding profiles.
Total number of transcoding profiles.
Whether the transcoding configuration can be edited.
List of configured external restreaming platform entries.
Unique numeric identifier.
Name of the stream.
RTMP playback or destination URL.
RTMP stream key for the restream platform.
Whether RTMP publish authentication is enabled.
Username for RTMP authentication.
Password for RTMP publish authentication.
Publishing schedule type.
Maximum stream length in hh:mm:ss format.
Unique identifier of the ad insertion provider record.
Disabled flag. 0 means active; 1 means disabled.
Live transcoding configuration for the stream.
Type identifier for this stream or object.
Enable or disable this feature.
Whether the transcoding configuration can be edited.