Create Zone
Create a new VOD push Zone
curl -X POST "https://api.5centscdn.com/v2/zones/vod/push/new" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"_METHOD": "PUT",
"alias": "my-vod-push-zone",
"server": 30,
"profiles": [
"123",
"456"
],
"ssl": {
"http2": "Y",
"redirect": "N",
"mode": "S"
},
"cache": {
"cache": "1d",
"expiry": ""
},
"webhook": "https://example.com/hook",
"cnames": "cdn.example.com",
"domainlock": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"noreferer": "N"
},
"geoblock": {
"enabled": "N",
"policy": "Y",
"list": [],
"ips": ""
},
"bwlimit": {
"enabled": "N",
"policy": "0",
"rate": 0,
"rateafter": 0
},
"ipaccess": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": ""
},
"securetoken": {
"enabled": "N",
"policy": "Q",
"keyip": "N",
"list": "",
"timeout": 5,
"session": "0",
"ips": ""
},
"useragent": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N"
}
}'
import requests
import json
url = "https://api.5centscdn.com/v2/zones/vod/push/new"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"_METHOD": "PUT",
"alias": "my-vod-push-zone",
"server": 30,
"profiles": [
"123",
"456"
],
"ssl": {
"http2": "Y",
"redirect": "N",
"mode": "S"
},
"cache": {
"cache": "1d",
"expiry": ""
},
"webhook": "https://example.com/hook",
"cnames": "cdn.example.com",
"domainlock": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"noreferer": "N"
},
"geoblock": {
"enabled": "N",
"policy": "Y",
"list": [],
"ips": ""
},
"bwlimit": {
"enabled": "N",
"policy": "0",
"rate": 0,
"rateafter": 0
},
"ipaccess": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": ""
},
"securetoken": {
"enabled": "N",
"policy": "Q",
"keyip": "N",
"list": "",
"timeout": 5,
"session": "0",
"ips": ""
},
"useragent": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N"
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/zones/vod/push/new", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"_METHOD": "PUT",
"alias": "my-vod-push-zone",
"server": 30,
"profiles": [
"123",
"456"
],
"ssl": {
"http2": "Y",
"redirect": "N",
"mode": "S"
},
"cache": {
"cache": "1d",
"expiry": ""
},
"webhook": "https://example.com/hook",
"cnames": "cdn.example.com",
"domainlock": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"noreferer": "N"
},
"geoblock": {
"enabled": "N",
"policy": "Y",
"list": [],
"ips": ""
},
"bwlimit": {
"enabled": "N",
"policy": "0",
"rate": 0,
"rateafter": 0
},
"ipaccess": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": ""
},
"securetoken": {
"enabled": "N",
"policy": "Q",
"keyip": "N",
"list": "",
"timeout": 5,
"session": "0",
"ips": ""
},
"useragent": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N"
}
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"_METHOD": "PUT",
"alias": "my-vod-push-zone",
"server": 30,
"profiles": [
"123",
"456"
],
"ssl": {
"http2": "Y",
"redirect": "N",
"mode": "S"
},
"cache": {
"cache": "1d",
"expiry": ""
},
"webhook": "https://example.com/hook",
"cnames": "cdn.example.com",
"domainlock": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"noreferer": "N"
},
"geoblock": {
"enabled": "N",
"policy": "Y",
"list": [],
"ips": ""
},
"bwlimit": {
"enabled": "N",
"policy": "0",
"rate": 0,
"rateafter": 0
},
"ipaccess": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": ""
},
"securetoken": {
"enabled": "N",
"policy": "Q",
"keyip": "N",
"list": "",
"timeout": 5,
"session": "0",
"ips": ""
},
"useragent": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N"
}
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/zones/vod/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/zones/vod/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",
"alias": "my-vod-push-zone",
"server": 30,
"profiles": [
"123",
"456"
],
"ssl": {
"http2": "Y",
"redirect": "N",
"mode": "S"
},
"cache": {
"cache": "1d",
"expiry": ""
},
"webhook": "https://example.com/hook",
"cnames": "cdn.example.com",
"domainlock": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"noreferer": "N"
},
"geoblock": {
"enabled": "N",
"policy": "Y",
"list": [],
"ips": ""
},
"bwlimit": {
"enabled": "N",
"policy": "0",
"rate": 0,
"rateafter": 0
},
"ipaccess": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": ""
},
"securetoken": {
"enabled": "N",
"policy": "Q",
"keyip": "N",
"list": "",
"timeout": 5,
"session": "0",
"ips": ""
},
"useragent": {
"enabled": "N",
"policy": "Y",
"list": "",
"ips": "",
"casesensitive": "N"
}
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Zone updated successfully",
"zone": {
"type": "push",
"id": 12345,
"serviceid": 67890,
"mode": "http",
"cnames": "",
"edgeruleids": 0,
"deleted": null,
"name": "my-cdn-zone",
"hashid": "abc123def456",
"fqdn": "cdn.example.com",
"fqdnVoD": "vod.example.com",
"edgerules": {
"enabled": "N"
},
"domainlock": {
"policy": "N",
"list": "example.com,cdn.example.com",
"ips": "203.0.113.10",
"noreferer": "N",
"type": "push",
"enabled": "N",
"active": "N"
},
"geoblock": {
"policy": "N",
"list": [
"US",
"GB"
],
"ips": "203.0.113.10",
"enabled": "N",
"active": "N"
},
"securetoken": {
"policy": "F",
"keyip": "N",
"list": "ab12cd34ef56gh78",
"timeout": 3600,
"session": "0",
"ips": "",
"dirs": "",
"enabled": "N",
"active": "N"
},
"eac": {
"policy": "N",
"list": "http://example.com/auth.script",
"ips": "203.0.113.10",
"enabled": "N",
"active": "N"
},
"ssl": {
"http": "N",
"http2": "Y",
"redirect": "Y",
"mode": "S",
"certid": null,
"zerossl": null,
"enabled": "Y",
"warning": false
},
"cache": {
"smart": "0",
"cache": "4h",
"expiry": "1M",
"querystring": "N",
"cachecontrol": "Y",
"usestale": "Y",
"revalidate": "Y",
"cacheInSecs": 14400,
"cacheInMins": 240,
"expiryInSecs": 2592000,
"expiryInMins": 43200
},
"edge": {
"compression": "N",
"compressionlevel": 5,
"disposition": "N",
"stripcookie": "N",
"xff": "N",
"cors": "Y",
"webp": "N",
"pseudostreaming": "N",
"wp": "N",
"lfo": "Y",
"prefresh": "N"
},
"transcodefile": {
"profiles": [
"1",
"2"
],
"emails": [
"admin@example.com"
],
"webhooks": [
"https://hooks.example.com/webhook"
]
},
"ftpdetails": {
"username": "user_67890_push_12345",
"password": "••••••••"
},
"server": {
"code": "206",
"name": "Singapore",
"country": "SouthEast Asia",
"meta": {
"uploadPort": "21",
"uploadHost": "upload.example.com"
}
},
"ssl_enabled": "Y"
},
"warnings": []
}
/zones/vod/push/new
Target server for requests. Edit to use your own host.
API key (sent in header)
The media type of the request body
Must always be PUT.
Label for the zone.
Server/region ID.
Encoding profile IDs.
SSL certificate settings for HTTPS delivery.
Cache configuration settings for the zone.
Optional webhook URL.
Comma-separated CNAMEs.
Domain lock / referrer restriction settings.
Geo-blocking settings to restrict access by country.
Bandwidth limit settings for the zone.
IP access control settings to allow or block specific IPs.
Secure token settings for URL authentication.
User-agent filter settings to restrict access by browser/client.
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Provide your API key in the header.
Body
SSL certificate settings for HTTPS delivery.
Cache configuration settings for the zone.
Domain lock / referrer restriction settings.
Geo-blocking settings to restrict access by country.
Bandwidth limit settings for the zone.
IP access control settings to allow or block specific IPs.
Secure token settings for URL authentication.
User-agent filter settings to restrict access by browser/client.
Responses
Status of the API response.
Human-readable status message describing the outcome.
Array of non-fatal warning messages from the operation.