Configure Ad Replacement
Enables or disables live ad replacement. When enabled is N the replacement configuration is removed entirely.
curl -X POST "https://api.5centscdn.com/v2/streams/push/123/adinsertion/replacement" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"enabled": "Y",
"gapFiller": "",
"maxAdDurationExcess": 0,
"pastAdBreakReplacement": 0,
"pastAdBreakReplacementValue": "",
"onStartWithinAdBreak": "replace",
"scte35": {
"adBreakTriggers": [
"0x22",
"0x30",
"0x32",
"0x34",
"0x36",
"0x38",
"0x3a",
"splice_insert"
],
"markersToRemove": [
"ALL"
]
}
}'
import requests
import json
url = "https://api.5centscdn.com/v2/streams/push/123/adinsertion/replacement"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"enabled": "Y",
"gapFiller": "",
"maxAdDurationExcess": 0,
"pastAdBreakReplacement": 0,
"pastAdBreakReplacementValue": "",
"onStartWithinAdBreak": "replace",
"scte35": {
"adBreakTriggers": [
"0x22",
"0x30",
"0x32",
"0x34",
"0x36",
"0x38",
"0x3a",
"splice_insert"
],
"markersToRemove": [
"ALL"
]
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/streams/push/123/adinsertion/replacement", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"enabled": "Y",
"gapFiller": "",
"maxAdDurationExcess": 0,
"pastAdBreakReplacement": 0,
"pastAdBreakReplacementValue": "",
"onStartWithinAdBreak": "replace",
"scte35": {
"adBreakTriggers": [
"0x22",
"0x30",
"0x32",
"0x34",
"0x36",
"0x38",
"0x3a",
"splice_insert"
],
"markersToRemove": [
"ALL"
]
}
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"enabled": "Y",
"gapFiller": "",
"maxAdDurationExcess": 0,
"pastAdBreakReplacement": 0,
"pastAdBreakReplacementValue": "",
"onStartWithinAdBreak": "replace",
"scte35": {
"adBreakTriggers": [
"0x22",
"0x30",
"0x32",
"0x34",
"0x36",
"0x38",
"0x3a",
"splice_insert"
],
"markersToRemove": [
"ALL"
]
}
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/streams/push/123/adinsertion/replacement", 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/123/adinsertion/replacement')
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 = '{
"enabled": "Y",
"gapFiller": "",
"maxAdDurationExcess": 0,
"pastAdBreakReplacement": 0,
"pastAdBreakReplacementValue": "",
"onStartWithinAdBreak": "replace",
"scte35": {
"adBreakTriggers": [
"0x22",
"0x30",
"0x32",
"0x34",
"0x36",
"0x38",
"0x3a",
"splice_insert"
],
"markersToRemove": [
"ALL"
]
}
}'
response = http.request(request)
puts response.body
{
"result": "success"
}
{
"result": "error",
"message": "Descriptive error message."
}
/streams/push/{streamid}/adinsertion/replacementTarget server for requests. Edit to use your own host.
API key (sent in header)
Numeric stream ID.
The media type of the request body
Enable or disable ad replacement.
URL to a gap-filler asset shown when no ad is available.
Maximum seconds an ad can exceed the scheduled break duration.
Behaviour for late-joining viewers: 0 disabled, -1 replace from break start, -2 use look-back window.
Look-back window in seconds.
What to do when a viewer joins mid-break.
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
Numeric stream ID.
Body
URL to a gap-filler asset shown when no ad is available.
Maximum seconds an ad can exceed the scheduled break duration.
Behaviour for late-joining viewers: 0 disabled, -1 replace from break start, -2 use look-back window.
-2-10Look-back window in seconds.
What to do when a viewer joins mid-break.
replaceskip_ad_breakSCTE-35 splice command types that start an ad break.
SCTE-35 markers to strip from the manifest.
Responses
Status of the API response.
successerrorHuman-readable message describing the result.