Create Rule
Creates a new edge rule for the zone. The body must include "_METHOD": "PUT" alongside the standard rule payload. On success the server returns result: "success" with a human-readable message.
curl -X POST "https://api.5centscdn.com/v2/zones/http/push/12345/rules/rule" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"_METHOD": "PUT",
"name": "Cache Images",
"rule": "/images/*",
"options": {
"edge_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"midgress_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"browser_cache_settings": {
"enabled": null,
"control": "default",
"value": "345600s",
"custom": {
"value": ""
}
},
"country_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"ip_address_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"user_agent_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": [],
"casesensitive": false
},
"referrer_acl": {
"enabled": null,
"policy_type": "allow",
"noreferer": false,
"excepted_values": [],
"ip_whitelists": []
},
"secure_key": {
"enabled": null,
"policy_type": 0,
"session": 0,
"key": "",
"ip_whitelists": [],
"type": false
},
"gzipOn": {
"enabled": null
},
"fetch_compressed": {
"enabled": null
},
"brotli_compression": {
"enabled": null,
"value": ""
},
"slice": {
"enabled": null
},
"limit_bandwidth": {
"enabled": null,
"limit_type": "static",
"speed": 12000,
"buffer": 1024
},
"disposition": {
"enabled": null,
"value": 0
},
"limit_request": {
"enabled": null,
"rate": 9,
"burst": 98,
"delay": 96,
"ip_whitelists": []
},
"rewrite": {
"enabled": null,
"body": "",
"flag": "break"
},
"host_redirect": {
"enabled": null,
"to": "",
"value": []
},
"redirect_http_to_https": {
"enabled": null
},
"hsts": {
"enabled": null,
"referrerPolicy": "no-referrer",
"includeSubDomains": true,
"preload": true
},
"image_stack": {
"enabled": null,
"quality": "Disabled",
"webp": "Disabled",
"avif": "Disabled",
"png_loseless": "true"
},
"asset_stack": {
"enabled": null,
"combine_css": false,
"MaxCombinedCssBytes": -1,
"flatten_css_imports": false,
"CssFlattenMaxBytes": null,
"inline_css": false,
"CssInlineMaxBytes": null,
"outline_css": false,
"CssOutlineMinBytes": null,
"rewrite_css": false,
"fallback_rewrite_css_urls": false,
"combine_javascript": false,
"MaxCombinedJsBytes": null,
"defer_javascript": false,
"inline_javascript": false,
"JsInlineMaxBytes": null,
"rewrite_javascript": false,
"outline_javascript": false,
"JsOutlineMinBytes": null,
"collapse_whitespace": false,
"remove_comments": false,
"remove_quotes": false,
"CombineAcrossPaths": false
},
"force_return": {
"enabled": null,
"code": 200,
"body": ""
},
"stale": {
"enabled": null,
"value": ""
},
"staticHeaders": {
"enabled": null,
"keys": [],
"values": []
},
"cors": {
"enabled": null,
"control": "*",
"always": false,
"value": "*",
"custom": ""
}
}
}'
import requests
import json
url = "https://api.5centscdn.com/v2/zones/http/push/12345/rules/rule"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"_METHOD": "PUT",
"name": "Cache Images",
"rule": "/images/*",
"options": {
"edge_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"midgress_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"browser_cache_settings": {
"enabled": null,
"control": "default",
"value": "345600s",
"custom": {
"value": ""
}
},
"country_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"ip_address_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"user_agent_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": [],
"casesensitive": false
},
"referrer_acl": {
"enabled": null,
"policy_type": "allow",
"noreferer": false,
"excepted_values": [],
"ip_whitelists": []
},
"secure_key": {
"enabled": null,
"policy_type": 0,
"session": 0,
"key": "",
"ip_whitelists": [],
"type": false
},
"gzipOn": {
"enabled": null
},
"fetch_compressed": {
"enabled": null
},
"brotli_compression": {
"enabled": null,
"value": ""
},
"slice": {
"enabled": null
},
"limit_bandwidth": {
"enabled": null,
"limit_type": "static",
"speed": 12000,
"buffer": 1024
},
"disposition": {
"enabled": null,
"value": 0
},
"limit_request": {
"enabled": null,
"rate": 9,
"burst": 98,
"delay": 96,
"ip_whitelists": []
},
"rewrite": {
"enabled": null,
"body": "",
"flag": "break"
},
"host_redirect": {
"enabled": null,
"to": "",
"value": []
},
"redirect_http_to_https": {
"enabled": null
},
"hsts": {
"enabled": null,
"referrerPolicy": "no-referrer",
"includeSubDomains": true,
"preload": true
},
"image_stack": {
"enabled": null,
"quality": "Disabled",
"webp": "Disabled",
"avif": "Disabled",
"png_loseless": "true"
},
"asset_stack": {
"enabled": null,
"combine_css": false,
"MaxCombinedCssBytes": -1,
"flatten_css_imports": false,
"CssFlattenMaxBytes": null,
"inline_css": false,
"CssInlineMaxBytes": null,
"outline_css": false,
"CssOutlineMinBytes": null,
"rewrite_css": false,
"fallback_rewrite_css_urls": false,
"combine_javascript": false,
"MaxCombinedJsBytes": null,
"defer_javascript": false,
"inline_javascript": false,
"JsInlineMaxBytes": null,
"rewrite_javascript": false,
"outline_javascript": false,
"JsOutlineMinBytes": null,
"collapse_whitespace": false,
"remove_comments": false,
"remove_quotes": false,
"CombineAcrossPaths": false
},
"force_return": {
"enabled": null,
"code": 200,
"body": ""
},
"stale": {
"enabled": null,
"value": ""
},
"staticHeaders": {
"enabled": null,
"keys": [],
"values": []
},
"cors": {
"enabled": null,
"control": "*",
"always": false,
"value": "*",
"custom": ""
}
}
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.5centscdn.com/v2/zones/http/push/12345/rules/rule", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"_METHOD": "PUT",
"name": "Cache Images",
"rule": "/images/*",
"options": {
"edge_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"midgress_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"browser_cache_settings": {
"enabled": null,
"control": "default",
"value": "345600s",
"custom": {
"value": ""
}
},
"country_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"ip_address_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"user_agent_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": [],
"casesensitive": false
},
"referrer_acl": {
"enabled": null,
"policy_type": "allow",
"noreferer": false,
"excepted_values": [],
"ip_whitelists": []
},
"secure_key": {
"enabled": null,
"policy_type": 0,
"session": 0,
"key": "",
"ip_whitelists": [],
"type": false
},
"gzipOn": {
"enabled": null
},
"fetch_compressed": {
"enabled": null
},
"brotli_compression": {
"enabled": null,
"value": ""
},
"slice": {
"enabled": null
},
"limit_bandwidth": {
"enabled": null,
"limit_type": "static",
"speed": 12000,
"buffer": 1024
},
"disposition": {
"enabled": null,
"value": 0
},
"limit_request": {
"enabled": null,
"rate": 9,
"burst": 98,
"delay": 96,
"ip_whitelists": []
},
"rewrite": {
"enabled": null,
"body": "",
"flag": "break"
},
"host_redirect": {
"enabled": null,
"to": "",
"value": []
},
"redirect_http_to_https": {
"enabled": null
},
"hsts": {
"enabled": null,
"referrerPolicy": "no-referrer",
"includeSubDomains": true,
"preload": true
},
"image_stack": {
"enabled": null,
"quality": "Disabled",
"webp": "Disabled",
"avif": "Disabled",
"png_loseless": "true"
},
"asset_stack": {
"enabled": null,
"combine_css": false,
"MaxCombinedCssBytes": -1,
"flatten_css_imports": false,
"CssFlattenMaxBytes": null,
"inline_css": false,
"CssInlineMaxBytes": null,
"outline_css": false,
"CssOutlineMinBytes": null,
"rewrite_css": false,
"fallback_rewrite_css_urls": false,
"combine_javascript": false,
"MaxCombinedJsBytes": null,
"defer_javascript": false,
"inline_javascript": false,
"JsInlineMaxBytes": null,
"rewrite_javascript": false,
"outline_javascript": false,
"JsOutlineMinBytes": null,
"collapse_whitespace": false,
"remove_comments": false,
"remove_quotes": false,
"CombineAcrossPaths": false
},
"force_return": {
"enabled": null,
"code": 200,
"body": ""
},
"stale": {
"enabled": null,
"value": ""
},
"staticHeaders": {
"enabled": null,
"keys": [],
"values": []
},
"cors": {
"enabled": null,
"control": "*",
"always": false,
"value": "*",
"custom": ""
}
}
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"_METHOD": "PUT",
"name": "Cache Images",
"rule": "/images/*",
"options": {
"edge_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"midgress_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"browser_cache_settings": {
"enabled": null,
"control": "default",
"value": "345600s",
"custom": {
"value": ""
}
},
"country_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"ip_address_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"user_agent_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": [],
"casesensitive": false
},
"referrer_acl": {
"enabled": null,
"policy_type": "allow",
"noreferer": false,
"excepted_values": [],
"ip_whitelists": []
},
"secure_key": {
"enabled": null,
"policy_type": 0,
"session": 0,
"key": "",
"ip_whitelists": [],
"type": false
},
"gzipOn": {
"enabled": null
},
"fetch_compressed": {
"enabled": null
},
"brotli_compression": {
"enabled": null,
"value": ""
},
"slice": {
"enabled": null
},
"limit_bandwidth": {
"enabled": null,
"limit_type": "static",
"speed": 12000,
"buffer": 1024
},
"disposition": {
"enabled": null,
"value": 0
},
"limit_request": {
"enabled": null,
"rate": 9,
"burst": 98,
"delay": 96,
"ip_whitelists": []
},
"rewrite": {
"enabled": null,
"body": "",
"flag": "break"
},
"host_redirect": {
"enabled": null,
"to": "",
"value": []
},
"redirect_http_to_https": {
"enabled": null
},
"hsts": {
"enabled": null,
"referrerPolicy": "no-referrer",
"includeSubDomains": true,
"preload": true
},
"image_stack": {
"enabled": null,
"quality": "Disabled",
"webp": "Disabled",
"avif": "Disabled",
"png_loseless": "true"
},
"asset_stack": {
"enabled": null,
"combine_css": false,
"MaxCombinedCssBytes": -1,
"flatten_css_imports": false,
"CssFlattenMaxBytes": null,
"inline_css": false,
"CssInlineMaxBytes": null,
"outline_css": false,
"CssOutlineMinBytes": null,
"rewrite_css": false,
"fallback_rewrite_css_urls": false,
"combine_javascript": false,
"MaxCombinedJsBytes": null,
"defer_javascript": false,
"inline_javascript": false,
"JsInlineMaxBytes": null,
"rewrite_javascript": false,
"outline_javascript": false,
"JsOutlineMinBytes": null,
"collapse_whitespace": false,
"remove_comments": false,
"remove_quotes": false,
"CombineAcrossPaths": false
},
"force_return": {
"enabled": null,
"code": 200,
"body": ""
},
"stale": {
"enabled": null,
"value": ""
},
"staticHeaders": {
"enabled": null,
"keys": [],
"values": []
},
"cors": {
"enabled": null,
"control": "*",
"always": false,
"value": "*",
"custom": ""
}
}
}`)
req, err := http.NewRequest("POST", "https://api.5centscdn.com/v2/zones/http/push/12345/rules/rule", 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/http/push/12345/rules/rule')
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": "Cache Images",
"rule": "/images/*",
"options": {
"edge_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"midgress_cache_settings": {
"enabled": null,
"control": "default",
"default": "345600s",
"value": "345600s",
"revalidate": null,
"custom": {
"default": "",
"value": ""
},
"custom_values": {
"codes": [],
"value": []
}
},
"browser_cache_settings": {
"enabled": null,
"control": "default",
"value": "345600s",
"custom": {
"value": ""
}
},
"country_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"ip_address_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": []
},
"user_agent_acl": {
"enabled": null,
"policy_type": "allow",
"excepted_values": [],
"ip_whitelists": [],
"casesensitive": false
},
"referrer_acl": {
"enabled": null,
"policy_type": "allow",
"noreferer": false,
"excepted_values": [],
"ip_whitelists": []
},
"secure_key": {
"enabled": null,
"policy_type": 0,
"session": 0,
"key": "",
"ip_whitelists": [],
"type": false
},
"gzipOn": {
"enabled": null
},
"fetch_compressed": {
"enabled": null
},
"brotli_compression": {
"enabled": null,
"value": ""
},
"slice": {
"enabled": null
},
"limit_bandwidth": {
"enabled": null,
"limit_type": "static",
"speed": 12000,
"buffer": 1024
},
"disposition": {
"enabled": null,
"value": 0
},
"limit_request": {
"enabled": null,
"rate": 9,
"burst": 98,
"delay": 96,
"ip_whitelists": []
},
"rewrite": {
"enabled": null,
"body": "",
"flag": "break"
},
"host_redirect": {
"enabled": null,
"to": "",
"value": []
},
"redirect_http_to_https": {
"enabled": null
},
"hsts": {
"enabled": null,
"referrerPolicy": "no-referrer",
"includeSubDomains": true,
"preload": true
},
"image_stack": {
"enabled": null,
"quality": "Disabled",
"webp": "Disabled",
"avif": "Disabled",
"png_loseless": "true"
},
"asset_stack": {
"enabled": null,
"combine_css": false,
"MaxCombinedCssBytes": -1,
"flatten_css_imports": false,
"CssFlattenMaxBytes": null,
"inline_css": false,
"CssInlineMaxBytes": null,
"outline_css": false,
"CssOutlineMinBytes": null,
"rewrite_css": false,
"fallback_rewrite_css_urls": false,
"combine_javascript": false,
"MaxCombinedJsBytes": null,
"defer_javascript": false,
"inline_javascript": false,
"JsInlineMaxBytes": null,
"rewrite_javascript": false,
"outline_javascript": false,
"JsOutlineMinBytes": null,
"collapse_whitespace": false,
"remove_comments": false,
"remove_quotes": false,
"CombineAcrossPaths": false
},
"force_return": {
"enabled": null,
"code": 200,
"body": ""
},
"stale": {
"enabled": null,
"value": ""
},
"staticHeaders": {
"enabled": null,
"keys": [],
"values": []
},
"cors": {
"enabled": null,
"control": "*",
"always": false,
"value": "*",
"custom": ""
}
}
}'
response = http.request(request)
puts response.body
{
"result": "success",
"message": "Zone EdgeRule Created. Please wait till the rules validation & deployment completes.",
"ruleid": 8412
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/zones/http/push/{zoneId}/rules/ruleTarget server for requests. Edit to use your own host.
API key (sent in header)
Numeric ID of the zone
The media type of the request body
HTTP method override. Always "PUT" for create.
Human-readable label for the rule.
URL pattern or regex applied to incoming requests. Validated via /validate/rule.
Container for all behavior option groups.
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
URL pattern or regex applied to incoming requests. Validated via /validate/rule.
/images/*Container for all behavior option groups.
Controls how long the edge CDN caches content.
Per-path-pattern cache overrides.
Controls midgress (mid-tier) cache duration. Identical structure to edge_cache_settings.
[][]Controls Cache-Control headers sent to the client browser.
"default" uses default duration; "no-cache" disables browser caching; "custom" uses custom.value.
defaultno-cachecustomAllow or block requests from specific countries.
"allow" = whitelist mode (only listed countries allowed); "deny" = blacklist mode.
allowdenyAllow or block requests from specific IP addresses.
Allow or block requests based on the User-Agent header.
User-agent strings to apply the policy to. Must be non-empty when enabled = true.
[]Allow or block requests based on the Referer header.
Protect content with signed URL tokens.
Enable edge GZip compression of responses.
Request compressed content from origin.
Enable Brotli compression.
Splits large files into slices for parallel delivery.
Per-connection download speed throttling.
"static" = fixed speed; "dynamic" = after an initial burst buffer.
staticdynamicInitial buffer in KB before the speed limit kicks in (used with limit_type "dynamic").
1024Sets Content-Disposition attachment on responses.
Per-IP request rate limiting.
URL rewrite rule applied before forwarding to origin.
"break" stops further rule processing, "last" re-evaluates from first rule, "redirect" returns 302, "permanent" returns 301.
breaklastredirectpermanentRedirect requests to a different hostname.
Permanently redirect all HTTP requests to HTTPS (301).
HTTP Strict Transport Security configuration.
Sets the Referrer-Policy header.
no-referrerno-referrer-when-downgradeoriginorigin-when-cross-originsame-originstrict-originstrict-origin-when-cross-originunsafe-urlOn-the-fly image optimization.
Use lossless encoding for PNG. Sent as string, not boolean.
truefalseWeb performance optimization for CSS and JavaScript assets. The entire asset_stack object in the final payload is replaced by this.asseststack (set via child component updateRule() emission).
Return a fixed HTTP status code for matched requests.
Serve stale cached content if origin is unreachable.
Add or override response headers.
CORS header support.
Responses
Status of the API response.
successThe numeric ID of the newly created edge rule.
errorerror