Business Rules & Endpoint Reference
Zone Rules
- Max 300 zones per user account (error 1016)
- Per-user uniqueness — a user cannot have two zones with the same name (error 1003). Different users CAN create zones with the same name — multi-zone ownership with verification (first zone: active, subsequent: pending)
- NS auto-assignment — 3 NS servers from
ns_poolassigned on creation - Zone deletion — only possible when zone is empty (only NS records remain) (error 1009)
Record Rules
- CNAME exclusivity (RFC 1033) — CNAME cannot coexist with other types at the same name (error 1005)
- NS apex locked — NS records at zone apex are system-managed and cannot be modified, deleted, or toggled (error 1008)
- SOA serial auto-increment — serial increments on record create/update/delete when
soa_serial_autois true - TTL fallback — if TTL is not specified, uses zone's
default_ttl
Address Group Rules
- Name uniqueness — group name is unique per zone (case-insensitive) (error 1014)
- Member uniqueness — IP address is unique per group (error 1014)
- IP validation — IPv4 for type
Agroups, IPv6 for typeAAAAgroups (error 1015) - Primary limit — maximum 1 primary role per group
Record ID Format
- Records use UUID (uuidv7), returned as strings in the API
- Zones, groups, and members use integer IDs
Complete Endpoint Reference
| Method | Endpoint | Permission | Description |
|---|---|---|---|
| GET | /user | — | Current user info |
| GET | /user/tokens | — | List API tokens |
| DELETE | /user/tokens/{id} | — | Delete API token |
| GET | /zones | zones:read | List zones |
| POST | /zones | zones:edit | Create zone |
| GET | /zones/{id} | zones:read | Zone details |
| PATCH | /zones/{id} | zones:edit | Update zone |
| DELETE | /zones/{id} | zones:edit | Delete zone |
| GET | /zones/{id}/transfer_acl | zones:read | List transfer ACL |
| POST | /zones/{id}/transfer_acl | zones:edit | Add ACL entry |
| DELETE | /zones/{id}/transfer_acl/{acl_id} | zones:edit | Remove ACL entry |
| GET | /zones/{id}/dns_records | records:read | List records |
| POST | /zones/{id}/dns_records | records:edit | Create record |
| GET | /zones/{id}/dns_records/{rid} | records:read | Get record |
| PUT | /zones/{id}/dns_records/{rid} | records:edit | Full update record |
| PATCH | /zones/{id}/dns_records/{rid} | records:edit | Partial update record |
| DELETE | /zones/{id}/dns_records/{rid} | records:edit | Delete record |
| POST | /zones/{id}/dns_records/batch | records:edit | Batch operations |
| GET | /zones/{id}/address_groups | groups:read | List address groups |
| POST | /zones/{id}/address_groups | groups:edit | Create group |
| GET | /zones/{id}/address_groups/{gid} | groups:read | Group details |
| DELETE | /zones/{id}/address_groups/{gid} | groups:edit | Delete group |
| GET | /zones/{id}/address_groups/{gid}/members | groups:read | List members |
| POST | /zones/{id}/address_groups/{gid}/members | groups:edit | Add member |
| PATCH | /zones/{id}/address_groups/{gid}/members/{mid} | groups:edit | Update member |
| DELETE | /zones/{id}/address_groups/{gid}/members/{mid} | groups:edit | Delete member |
| PATCH | /zones/{id}/address_groups/{gid}/policy | groups:edit | Update LB policy |
| GET | /zones/{id}/address_groups/{gid}/health | health:read | Health status |
| PATCH | /zones/{id}/address_groups/{gid}/health | health:edit | Configure health |
| GET | /zones/{id}/address_groups/{gid}/health_checks | health:read | Check history |
| GET | /zones/{id}/address_groups/{gid}/failover_events | health:read | Failover events |
| GET | /zones/{id}/address_groups/{gid}/healthbar | health:read | Health summary |
Last updated: 2026-06-26