API reference · Zones
Add a domain
POST
/v1/orgs/{org}/zonesAdd a domain. Full setup delegates DNS to obhut, partial setup points names at obhut by CNAME
- Permission
zones.zones.manage- Audit log
zones.zone.create- Operation
zones.zones.create
Parameters
| Name | In | Type | Required | Notes |
|---|---|---|---|---|
org | path | string | yes | for example "org_01h455vb4pex5vsknk084sn02q" |
Idempotency-Key | header | string | no | One key per intended mutation. A retry with the key replays the recorded response instead of executing again; the key with another request answers 422 idempotency_key_reused. For example "01h455vb4pex5vsknk084sn02q" |
x-obhut-management-assignment | header | string | no | Select one staff assignment. Direct membership remains the default. Bound API tokens use their stored source and ignore this selector. For example "masg_01h455vb4pex5vsknk084sn02q" |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
name | string | yes | 1 to 253 characters |
setupMode | string | no | one of "full", "partial"; default "full" |
Response 201
| Field | Type | Required | Notes |
|---|---|---|---|
id | string | yes | for example "zone_01h455vb4pex5vsknk084sn02q" |
name | string | yes | |
setupMode | string | yes | one of "full", "partial" |
status | string | yes | one of "pending", "active" |
nameservers | array of string | yes | |
dnsEligibility | object or null | yes | |
dnsEligibility.eligible | boolean | yes | |
dnsEligibility.reason | string | yes | one of "unobserved", "delegated", "predelegation", "ownership_mismatch", "parent_not_delegated" |
dnsEligibility.observedAt | string (date-time) or null | yes | |
verification | object | yes | |
verification.name | string | yes | |
verification.value | string | yes | |
lastCheck | object or null | yes | |
lastCheck.at | string (date-time) | yes | UTC, ISO 8601. |
lastCheck.ok | boolean | yes | |
lastCheck.code | string | yes | one of "nameservers_match", "nameservers_missing", "nameservers_differ", "verification_found", "verification_missing", "verification_mismatch", "lookup_failed" |
lastCheck.params | object or null | yes | |
lastCheck.params.missing | array of string | no | |
lastCheck.params.unexpected | array of string | no | |
lastCheck.observed | array of string | yes | |
createdAt | string (date-time) | yes | UTC, ISO 8601. |
activatedAt | string (date-time) or null | yes |