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_pool assigned 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_auto is 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 A groups, IPv6 for type AAAA groups (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

MethodEndpointPermissionDescription
GET/userCurrent user info
GET/user/tokensList API tokens
DELETE/user/tokens/{id}Delete API token
GET/zoneszones:readList zones
POST/zoneszones:editCreate zone
GET/zones/{id}zones:readZone details
PATCH/zones/{id}zones:editUpdate zone
DELETE/zones/{id}zones:editDelete zone
GET/zones/{id}/transfer_aclzones:readList transfer ACL
POST/zones/{id}/transfer_aclzones:editAdd ACL entry
DELETE/zones/{id}/transfer_acl/{acl_id}zones:editRemove ACL entry
GET/zones/{id}/dns_recordsrecords:readList records
POST/zones/{id}/dns_recordsrecords:editCreate record
GET/zones/{id}/dns_records/{rid}records:readGet record
PUT/zones/{id}/dns_records/{rid}records:editFull update record
PATCH/zones/{id}/dns_records/{rid}records:editPartial update record
DELETE/zones/{id}/dns_records/{rid}records:editDelete record
POST/zones/{id}/dns_records/batchrecords:editBatch operations
GET/zones/{id}/address_groupsgroups:readList address groups
POST/zones/{id}/address_groupsgroups:editCreate group
GET/zones/{id}/address_groups/{gid}groups:readGroup details
DELETE/zones/{id}/address_groups/{gid}groups:editDelete group
GET/zones/{id}/address_groups/{gid}/membersgroups:readList members
POST/zones/{id}/address_groups/{gid}/membersgroups:editAdd member
PATCH/zones/{id}/address_groups/{gid}/members/{mid}groups:editUpdate member
DELETE/zones/{id}/address_groups/{gid}/members/{mid}groups:editDelete member
PATCH/zones/{id}/address_groups/{gid}/policygroups:editUpdate LB policy
GET/zones/{id}/address_groups/{gid}/healthhealth:readHealth status
PATCH/zones/{id}/address_groups/{gid}/healthhealth:editConfigure health
GET/zones/{id}/address_groups/{gid}/health_checkshealth:readCheck history
GET/zones/{id}/address_groups/{gid}/failover_eventshealth:readFailover events
GET/zones/{id}/address_groups/{gid}/healthbarhealth:readHealth summary

Last updated: 2026-06-26