CDN API (v0.0.1)
Managing CDN resources, cache tasks, SSL certificates, Let's Encrypt certificates, and more.
Managing CDN resources: viewing a list of resources, creating, updating, and deleting resources.
List resources
Returns a list of resources in the project.
Authorizations:
query Parameters
| active | boolean Default: true Filter by active/deactivated resources. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
[- {
- "active": true,
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "certificate": 1,
- "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "creation_ts": 1708581262,
- "follow_redirects": false,
- "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "http2https": false,
- "https_only": false,
- "id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "locations": {
- "property1": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}, - "property2": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}
}, - "modern_tls_only": false,
- "name": "testname",
- "names": [
- "cdn.test.com"
], - "no_http2": false,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
], - "robots": {
- "robotsContent": "string",
- "type": "deny"
}, - "slice_size_megabytes": 16,
- "ssl_protocols": [
- "TLSv1.2",
- "TLSv1.3"
], - "strong_ssl_ciphers": false,
- "tuning": "default",
- "use_http3": false
}
]Create resource
Creates an HTTP CDN resource for the project.
Authorizations:
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
HTTP resource create payload.
| active | boolean Default: true Indicates whether the resource is active. |
| allowed_http_methods | Array of strings Items Enum: "POST" "PUT" "PATCH" "DELETE" "MKCOL" "COPY" "MOVE" "PROPFIND" "PROPPATCH" "LOCK" "UNLOCK" List of allowed HTTP methods.
|
object User request authorization settings. | |
object Cache settings. | |
| cdn_domain | string CDN domain for distribution (read-only). |
| certificate | integer Identifier of the SSL certificate to bind to the resource. |
object Compression settings. | |
object CORS settings. | |
| creation_ts | integer Resource creation timestamp (read-only). |
| follow_redirects | boolean Default: false Indicates whether to follow redirects. |
object Headers settings. | |
| http2https | boolean Default: false If |
| https_only | boolean Default: false If |
| id | string Identifier of the HTTP resource (read-only). |
| ioss | boolean Default: false Indicates whether image optimization and modification is enabled. |
object Distribution restrictions by geography, IP, Referer, or UserAgent. | |
object Rules for specific request paths.
Key: path pattern (e.g., | |
| modern_tls_only | boolean Default: false If |
| name required | string Resource name.
Pattern: |
| names | Array of strings Canonical Names (CNAMEs) for the CDN domain. |
| no_http2 | boolean Default: false If |
object Origin server parameters. | |
object Video conversion. | |
object Forced response instead of content. | |
Array of objects (models.ResourceRewrite) Request path rewrite rules. | |
object
| |
| slice_size_megabytes | integer [ 1 .. 1024 ] Default: 0 Slice size in MB (only when |
| ssl_protocols | Array of strings Items Enum: "TLSv1" "TLSv1.1" "TLSv1.2" "TLSv1.3" "SSLv3" List of allowed TLS versions. |
| strong_ssl_ciphers | boolean Default: false If |
| tuning | string Default: "default" Enum: "default" "large" "live" Distribution optimization:
|
| use_http3 | boolean Default: false Indicates whether to use HTTP/3. |
Responses
Request samples
- Payload
{- "active": true,
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "certificate": 1,
- "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "creation_ts": 1708581262,
- "follow_redirects": false,
- "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "http2https": false,
- "https_only": false,
- "id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "locations": {
- "property1": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}, - "property2": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}
}, - "modern_tls_only": false,
- "name": "testname",
- "names": [
- "cdn.test.com"
], - "no_http2": false,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
], - "robots": {
- "robotsContent": "string",
- "type": "deny"
}, - "slice_size_megabytes": 16,
- "ssl_protocols": [
- "TLSv1.2",
- "TLSv1.3"
], - "strong_ssl_ciphers": false,
- "tuning": "default",
- "use_http3": false
}Response samples
- 200
{- "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "description": "Key incorrect or not found ( origin )",
- "message": "Json invalid",
- "resource_id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "status": "accept",
- "task_id": "20180402162358692400"
}Get resource by identifier
Returns the resource by its identifier.
Authorizations:
path Parameters
| resource_id required | string <uuid> Resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "active": true,
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "certificate": 1,
- "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "creation_ts": 1708581262,
- "follow_redirects": false,
- "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "http2https": false,
- "https_only": false,
- "id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "locations": {
- "property1": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}, - "property2": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}
}, - "modern_tls_only": false,
- "name": "testname",
- "names": [
- "cdn.test.com"
], - "no_http2": false,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
], - "robots": {
- "robotsContent": "string",
- "type": "deny"
}, - "slice_size_megabytes": 16,
- "ssl_protocols": [
- "TLSv1.2",
- "TLSv1.3"
], - "strong_ssl_ciphers": false,
- "tuning": "default",
- "use_http3": false
}Partially update resource
Partially updates the first-level fields of the HTTP resource with the payload from the request body.
Authorizations:
path Parameters
| resource_id required | string <uuid> Resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
HTTP resource patch payload.
| active | boolean Default: true Indicates whether the resource is active. |
| allowed_http_methods | Array of strings Items Enum: "POST" "PUT" "PATCH" "DELETE" "MKCOL" "COPY" "MOVE" "PROPFIND" "PROPPATCH" "LOCK" "UNLOCK" List of allowed HTTP methods.
|
object User request authorization settings. | |
object Cache settings. | |
| cdn_domain | string CDN domain for distribution (read-only). |
| certificate | integer Identifier of the SSL certificate to bind to the resource. |
object Compression settings. | |
object CORS settings. | |
| creation_ts | integer Resource creation timestamp (read-only). |
| follow_redirects | boolean Default: false Indicates whether to follow redirects. |
object Headers settings. | |
| http2https | boolean Default: false If |
| https_only | boolean Default: false If |
| id | string Identifier of the HTTP resource (read-only). |
| ioss | boolean Default: false Indicates whether image optimization and modification is enabled. |
object Distribution restrictions by geography, IP, Referer, or UserAgent. | |
object Rules for specific request paths.
Key: path pattern (e.g., | |
| modern_tls_only | boolean Default: false If |
| name required | string Resource name.
Pattern: |
| names | Array of strings Canonical Names (CNAMEs) for the CDN domain. |
| no_http2 | boolean Default: false If |
object Origin server parameters. | |
object Video conversion. | |
object Forced response instead of content. | |
Array of objects (models.ResourceRewrite) Request path rewrite rules. | |
object
| |
| slice_size_megabytes | integer [ 1 .. 1024 ] Default: 0 Slice size in MB (only when |
| ssl_protocols | Array of strings Items Enum: "TLSv1" "TLSv1.1" "TLSv1.2" "TLSv1.3" "SSLv3" List of allowed TLS versions. |
| strong_ssl_ciphers | boolean Default: false If |
| tuning | string Default: "default" Enum: "default" "large" "live" Distribution optimization:
|
| use_http3 | boolean Default: false Indicates whether to use HTTP/3. |
Responses
Request samples
- Payload
{- "active": true,
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "certificate": 1,
- "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "creation_ts": 1708581262,
- "follow_redirects": false,
- "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "http2https": false,
- "https_only": false,
- "id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "locations": {
- "property1": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}, - "property2": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}
}, - "modern_tls_only": false,
- "name": "testname",
- "names": [
- "cdn.test.com"
], - "no_http2": false,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
], - "robots": {
- "robotsContent": "string",
- "type": "deny"
}, - "slice_size_megabytes": 16,
- "ssl_protocols": [
- "TLSv1.2",
- "TLSv1.3"
], - "strong_ssl_ciphers": false,
- "tuning": "default",
- "use_http3": false
}Response samples
- 200
{- "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "description": "Key incorrect or not found ( origin )",
- "message": "Json invalid",
- "resource_id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "status": "accept",
- "task_id": "20180402162358692400"
}Fully update resource
Fully replaces the HTTP resource configuration with the payload from the request body.
Authorizations:
path Parameters
| resource_id required | string <uuid> Resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
HTTP resource update payload.
| active | boolean Default: true Indicates whether the resource is active. |
| allowed_http_methods | Array of strings Items Enum: "POST" "PUT" "PATCH" "DELETE" "MKCOL" "COPY" "MOVE" "PROPFIND" "PROPPATCH" "LOCK" "UNLOCK" List of allowed HTTP methods.
|
object User request authorization settings. | |
object Cache settings. | |
| cdn_domain | string CDN domain for distribution (read-only). |
| certificate | integer Identifier of the SSL certificate to bind to the resource. |
object Compression settings. | |
object CORS settings. | |
| creation_ts | integer Resource creation timestamp (read-only). |
| follow_redirects | boolean Default: false Indicates whether to follow redirects. |
object Headers settings. | |
| http2https | boolean Default: false If |
| https_only | boolean Default: false If |
| id | string Identifier of the HTTP resource (read-only). |
| ioss | boolean Default: false Indicates whether image optimization and modification is enabled. |
object Distribution restrictions by geography, IP, Referer, or UserAgent. | |
object Rules for specific request paths.
Key: path pattern (e.g., | |
| modern_tls_only | boolean Default: false If |
| name required | string Resource name.
Pattern: |
| names | Array of strings Canonical Names (CNAMEs) for the CDN domain. |
| no_http2 | boolean Default: false If |
object Origin server parameters. | |
object Video conversion. | |
object Forced response instead of content. | |
Array of objects (models.ResourceRewrite) Request path rewrite rules. | |
object
| |
| slice_size_megabytes | integer [ 1 .. 1024 ] Default: 0 Slice size in MB (only when |
| ssl_protocols | Array of strings Items Enum: "TLSv1" "TLSv1.1" "TLSv1.2" "TLSv1.3" "SSLv3" List of allowed TLS versions. |
| strong_ssl_ciphers | boolean Default: false If |
| tuning | string Default: "default" Enum: "default" "large" "live" Distribution optimization:
|
| use_http3 | boolean Default: false Indicates whether to use HTTP/3. |
Responses
Request samples
- Payload
{- "active": true,
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "certificate": 1,
- "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "creation_ts": 1708581262,
- "follow_redirects": false,
- "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "http2https": false,
- "https_only": false,
- "id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "locations": {
- "property1": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}, - "property2": {
- "allowed_http_methods": [
- "POST",
- "PATCH"
], - "auth": {
- "forbidden": false,
- "md5": {
- "anywhere": false,
- "forever": false,
- "secret": "string"
},
}, - "cache": {
- "args_blacklist": [
- "param1"
], - "args_whitelist": [
- "param1"
], - "consider_args": true,
- "consider_cookies": true,
- "cookies_blacklist": [
- "param1"
], - "cookies_whitelist": [
- "param1"
], - "disable": false,
- "stale_conditions": [
- "error"
], - "use_stale": false,
- "valid": {
- "2xx": "1d",
- "3xx": "1d",
- "4xx": "1s",
- "5xx": "1s",
- "browser": "1d",
- "force": false
}
}, - "compress": {
- "brotli": false,
- "gzip": true
}, - "cors": {
- "always": true,
- "credentials": false,
- "disable": false,
- "domains": [
- "example.com"
], - "expose": [
- "string"
], - "headers": [
- "string"
], - "max_age": 120,
- "methods": [
- "string"
]
}, - "headers": {
- "hide_in_response": [
- "header-to-hide"
], - "request": {
- "property1": "string",
- "property2": "string"
}, - "response": {
- "property1": "string",
- "property2": "string"
}
}, - "ioss": false,
- "limitations": {
- "geo": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "action": "deny",
- "country": "RU",
- "region": "BEL"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "ip": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "ip": "192.168.0.1/24"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "referer": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "referer": "*.ru"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
], - "useragent": [
- {
- "default_action": "allow",
- "exclude": [
- {
- "useragent": "browser_name"
}
], - "times": [
- {
- "end": "2024-01-02T00:00:00Z",
- "start": "2024-01-01T00:00:00Z"
}
]
}
]
}, - "order": 1,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
]
}
}, - "modern_tls_only": false,
- "name": "testname",
- "names": [
- "cdn.test.com"
], - "no_http2": false,
- "origin": {
- "aws": {
- "auth": {
- "access_key": "string",
- "secret_key": "string"
}
}, - "connect_timeout": "10s",
- "forward_host_header": false,
- "hostname": "string",
- "https": false,
- "read_timeout": "10s",
- "s3_bucket": "string",
- "send_timeout": "10s",
- "servers": {
- "property1": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}, - "property2": {
- "backup": false,
- "max_fails": 10,
- "port": 443,
- "weight": 1
}
}, - "sni_hostname": "string",
- "ssl_verify": false
}, - "packaging": {
- "mp4": {
- "output_protocols": [
- "MPEG-DASH"
]
}
}, - "return": {
- "body": "string",
- "http_status_code": 100,
- "url": "string"
}, - "rewrite": [
- {
- "flag": "break",
- "from": "^/cdn/.+(/_video_.+)",
- "scope": "edge",
- "to": "$1"
}
], - "robots": {
- "robotsContent": "string",
- "type": "deny"
}, - "slice_size_megabytes": 16,
- "ssl_protocols": [
- "TLSv1.2",
- "TLSv1.3"
], - "strong_ssl_ciphers": false,
- "tuning": "default",
- "use_http3": false
}Response samples
- 200
{- "cdn_domain": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28.selcdn.net",
- "description": "Key incorrect or not found ( origin )",
- "message": "Json invalid",
- "resource_id": "6d19b7a2-a493-48fa-a9ec-aea7ba9ffa28",
- "status": "accept",
- "task_id": "20180402162358692400"
}Get resource status
Returns status for the specified HTTP resource.
Authorizations:
path Parameters
| resource_id required | string <uuid> Resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "message": "dns processing",
- "resource": "string",
- "status": "Completed"
}Get resources status
Returns status for up to 50 HTTP resources. If resource_id is not provided, returns empty response.
Authorizations:
query Parameters
| resource_id | Array of strings Resource identifiers (up to 50). |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
[- {
- "message": "dns processing",
- "resource": "string",
- "status": "Completed"
}
]Managing cache tasks: deleting files from cache, preloading files into cache, and getting task execution status.
Create cache task
Creates a new cache task to delete or preload files in CDN cache.
Authorizations:
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
Cache task payload.
| action required | string Enum: "delete" "preload" Action type: delete or preload. |
| action_type | string Default: "single" Enum: "single" "full" "playlist" Operation type:
|
| domain required | string Domain name (CNAME or CDN domain). |
| paths | Array of strings List of file paths. |
Responses
Request samples
- Payload
{- "action": "delete",
- "action_type": "single",
- "domain": "6d19b7a2-a493-48fa-fa9ec-aea7ba9ffa28.selcdn.net",
- "paths": [
- "/path/to/file1",
- "/path/to/file2"
]
}Response samples
- 200
{- "task_id": "30ee3d06-b7fa-4dc7-ba84-44f4aa5bfaf0"
}Get cache task
Returns information about a specific cache task.
Authorizations:
path Parameters
| task_id required | string <string> Task identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "rate": [
- 98,
- 98
], - "status": "ok",
- "task": {
- "action": "delete",
- "action_type": "single",
- "domain": "6d19b7a2-a493-48fa-fa9ec-aea7ba9ffa28.selcdn.net",
- "paths": [
- "/path/to/file1",
- "/path/to/file2"
]
}, - "task_id": "30ee3d06-b7fa-4dc7-ba84-44f4aa5bfaf0"
}Managing SSL certificates: viewing a list of certificates, adding, updating, and deleting certificates.
List certificates
Returns a list of certificates for the account.
Authorizations:
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "data": [
- {
- "alt": "*.test.com, test.com",
- "cn": "*.test.com",
- "comment": "july_23",
- "end_iso8601": "2023-07-17T05:13:02Z",
- "end_timestamp": 1689570782,
- "issuer": "Let's Encrypt Authority X3",
- "seq": 1,
- "start_iso8601": "2022-06-15T05:13:03Z",
- "start_timestamp": 1655269983
}
], - "message": "OK",
- "status": 0
}Create certificate
Creates a custom certificate for the account.
Authorizations:
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
Certificate create payload.
| certificate required | string Certificate text in |
| comment required | string Certificate comment. |
| private_key required | string Private key text in |
Responses
Request samples
- Payload
{- "certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----",
- "comment": "new comment",
- "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----"
}Response samples
- 200
{- "data": {
- "seq": 1
}, - "message": "cert saved",
- "status": 0
}Get certificate
Returns the certificate details.
Authorizations:
path Parameters
| certificate_seq required | integer <int> Certificate sequence number. |
query Parameters
| details | boolean If true, certificate details (PEM content) will be included. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "data": [
- {
- "alt": "*.test.com, test.com",
- "chain_info": [
- {
- "end_iso8601": "2029-03-18T00:00:00Z",
- "end_timestamp": 1868475600,
- "fingerprint": "1C:61:0A:0A:87:D4:92:F4:83:22:C2:AF:D3:BE:9B:6A:D3:6B:6B:EE",
- "issuer_CN": "GlobalSign",
- "serial": "77:BD:0E:07:42:D5:D9:E9:D0:49:D7:74:D0:2A:6F:9A",
- "start_iso8601": "2020-07-28T00:00:00Z",
- "start_timestamp": 1595883600,
- "subject_CN": "GlobalSign GCC R3 DV TLS CA 2020"
}
], - "cn": "*.test.com",
- "comment": "july_23",
- "end_iso8601": "2023-07-17T05:13:02Z",
- "end_timestamp": 1689570782,
- "issuer": "Let's Encrypt Authority X3",
- "seq": 1,
- "start_iso8601": "2022-06-15T05:13:03Z",
- "start_timestamp": 1655269983
}
], - "message": "OK",
- "status": 0
}Update certificate
Updates an existing certificate.
Authorizations:
path Parameters
| certificate_seq required | integer <int> Certificate sequence number. |
Request Body schema: application/jsonrequired
Certificate update payload.
| certificate | string New certificate text in |
| comment | string New certificate comment (optional). |
| private_key | string New private key text in |
Responses
Request samples
- Payload
{- "certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----",
- "comment": "new comment",
- "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----"
}Response samples
- 200
{- "data": {
- "seq": 1
}, - "message": "cert updated",
- "status": 0
}Managing Let's Encrypt certificates: ordering certificates for a resource, ordering wildcard certificates, and getting order status.
Order wildcard Let's Encrypt certificate
Creates a Let's Encrypt wildcard certificate order.
Authorizations:
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Request Body schema: application/jsonrequired
Domains for a wildcard certificate.
| domains required | Array of strings List of domains for a wildcard certificate. |
Responses
Request samples
- Payload
{- "domains": [
- "*.d.example.com",
- "*.e.example.com"
]
}Response samples
- 200
{- "message": "Success",
- "status": 0
}Get Let's Encrypt status
Returns the Let's Encrypt order status for the resource.
Authorizations:
path Parameters
| resource_id required | string <uuid> CDN resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "data": {
- "task_status": "accepted"
}, - "message": "Success",
- "status": 0
}Order Let's Encrypt certificate
Creates a Let's Encrypt certificate order for an existing HTTP CDN resource.
Authorizations:
path Parameters
| resource_id required | string <uuid> CDN resource identifier. |
header Parameters
| X-Project-Id required | string <uuid> Project identifier. |
Responses
Response samples
- 200
{- "message": "Success",
- "status": 0
}