/api/v2/cdn/zones/{id}/proxy-rules Create a hostname-level CDN proxy rule in the zone.
name can be @, a label like www, or a full hostname inside the zone.
If a rule already exists for the same hostname, no duplicate is created; instead the existing rule is updated in place with the submitted mode, priority, and description and returned with HTTP 200 and unchanged: true.
mode: "off" creates the rule with proxying bypassed (proxy.enabled: false); the rule itself is created active — to disable a rule, use PATCH with active: false.
recordType is validated (A, AAAA, or CNAME) but has no effect on the rule: rules apply to the hostname regardless of record type.
write:cdnwrite:domains
Authenticate with an API key in the Authorization: Bearer <token> header.
id string required
Example: cdn_01hxa3b4c5d6e7f8g9h0j1k2m3 Public CDN zone ID. Get it from GET /api/v2/cdn/zones data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
Authorization Bearer <token> Accept application/json Content-Type application/json recordType string · enum
· Example: A Optional DNS record family this rule is intended to proxy.
A AAAA CNAME name string
· Example: www Hostname label, @, full hostname, or subdomain inside the zone.
mode string · enum
· Example: always Use always to proxy traffic or off to create a disabled proxy rule. smart is reserved.
always smart off priority integer · min: 0 · max: 65535
· Example: 100 description string · nullable
· Example: Proxy website traffic through the CDN. unchanged: true instead of creating a duplicate. 9 fields id string
· Example: cprule_01hxa3b4c5d6e7f8g9h0j1k2m3 Public CDN proxy rule ID. Get it from GET /api/v2/cdn/zones/{id}/proxy-rules.
fqdn string · nullable
· Example: www.example.com zone string · nullable
· Example: example.com proxy object proxy.enabled boolean required
· Example: true proxy.mode string · enum required
· Example: always always smart off proxy.priority integer · min: 0 · max: 65535 required
· Example: 100 state object state.active boolean required
· Example: true state.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
createdAt string · nullable
· Example: 2026-04-27T12:00:00.000Z updatedAt string · nullable
· Example: 2026-04-27T12:00:00.000Z description string · nullable
· Example: Proxy website traffic through the CDN. unchanged boolean
· Example: true Present and true only when POST found an existing rule for the same hostname and returned it instead of creating a duplicate.
id string
· Example: cprule_01hxa3b4c5d6e7f8g9h0j1k2m3 Public CDN proxy rule ID. Get it from GET /api/v2/cdn/zones/{id}/proxy-rules.
fqdn string · nullable
· Example: www.example.com zone string · nullable
· Example: example.com proxy object proxy.enabled boolean required
· Example: true proxy.mode string · enum required
· Example: always always smart off proxy.priority integer · min: 0 · max: 65535 required
· Example: 100 state object state.active boolean required
· Example: true state.reason string · nullable required
· Example: null Nullable: may be null when not applicable.
createdAt string · nullable
· Example: 2026-04-27T12:00:00.000Z updatedAt string · nullable
· Example: 2026-04-27T12:00:00.000Z description string · nullable
· Example: Proxy website traffic through the CDN. unchanged boolean
· Example: true Present and true only when POST found an existing rule for the same hostname and returned it instead of creating a duplicate.
type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object Retry-After seconds plus X-RateLimit-* headers. 10 fields type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/cdn/zones/{id}/proxy-rules curl -X POST "https://cloud.hostup.se/api/v2/cdn/zones/cdn_01hxa3b4c5d6e7f8g9h0j1k2m3/proxy-rules" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "www",
"mode": "always",
"priority": 100,
"description": "Proxy website traffic through the CDN."
}' {
"id": "cprule_01hxa3b4c5d6e7f8g9h0j1k2m3",
"fqdn": "www.example.com",
"zone": "example.com",
"proxy": {
"enabled": true,
"mode": "always",
"priority": 100
},
"state": {
"active": true,
"reason": null
},
"createdAt": "2026-04-27T12:00:00.000Z",
"updatedAt": "2026-04-27T12:00:00.000Z",
"description": "Proxy website traffic through the CDN.",
"unchanged": true
} {
"name": "www",
"mode": "always",
"priority": 100,
"description": "Proxy website traffic through the CDN."
}