Domains
List, create, update, and delete domains connected to your organization.
Manage the domains connected to your organization. This is the primary supported integration surface — safe to automate against.
/api/domains
/api/domainsList every domain in your organization, with record counts and your effective access to each.
/api/domainsRegister a new domain and provision its DNS zone. Requires owner or admin.
/api/domains/:id
/api/domains/:idFetch a single domain, including nameservers and your access level.
/api/domains/:idUpdate primary status, alias target, or catch-all routing for the domain.
/api/domains/:idDelete a domain and its DNS zone, cleaning up delegation records in the parent zone. Fails with has_subzones while child subzones exist.
/api/domains/:id/verify
/api/domains/:id/verifyRun the full health check — registrar delegation, per-nameserver probes, ownership TXT token, mail readiness, DNSSEC chain — without persisting anything.
/api/domains/:id/verifyRun the same check and persist the delegation status transition (pending → active and back).
curl -X POST https://avura.work/api/domains \
-H "Authorization: Bearer avk_5f2c1e9a..." \
-H "Content-Type: application/json" \
-d '{"name": "example.com"}'/api/domains/:id/subzones
/api/domains/:id/subzonesList the direct child subzones of a domain. Requires editor access to the parent.
/api/domains/:id/subzonesDelegate a subdomain into its own DNS zone. Body: {"label": "dev"}. Requires manager access to the parent.
A subzone is a full domain in its own right: it carries parentDomainId pointing at the domain it was delegated from, and delegation NS records are added to the parent zone automatically. Subzones nest to arbitrary depth — a subzone can spawn its own subzones the same way (access resolution walks up to 16 levels of ancestry). Pin an API token to any node in the tree to hand out credentials isolated to that subtree. The label may span multiple levels (dev or customer.dev); creation fails with records_exist_at_subdomain if the parent zone already has records at or below that name.
/api/domains/:id/grants
/api/domains/:id/grantsList the access grants on a domain, each naming a member or group and its role.
/api/domains/:id/grantsGrant access. Body: subjectUserId or subjectGroupId, plus role (editor | manager). Re-granting the same subject updates the role.
/api/domains/:id/grants?grantId=Revoke a grant. grantId is a required query parameter.
Grants require manager access and apply to the domain and every subzone below it — the highest role found on the domain or any ancestor wins. Editors manage records; managers can also create subzones, manage grants, and mint pinned tokens. Org owners and admins have full control everywhere without explicit grants.
/api/domains/:id/dnssec
/api/domains/:id/dnssecReport whether DNSSEC is enabled, the zone's DS records, and whether the registrar chain is live.
/api/domains/:id/dnssecEnable DNSSEC signing and return the DS records to place at the registrar. Requires owner or admin.
/api/domains/:id/dnssecDisable DNSSEC signing and remove published DS records. Requires owner or admin.
For subzones the chain is fully automated: the DS set is published as managed records at the child label inside the parent zone. Root domains still need the DS records placed at the registrar by hand.