Registrar API
Bearer API key from the portal; optional IP allowlist; read-only keys for reporting.
Send Idempotency-Key on create/renew/restore/transfer — retries replay the first answer.
Signed webhooks + GET /v1/messages poll queue (ack when processed).
Prepaid balance in paise. Add-grace deletes (5 days) are refunded.
Quick start
1. Check availability and your wholesale price
curl "https://api.inf.nz/v1/domains/check?names=acme,acme-shop&zone=inf.nz" \ -H "Authorization: Bearer $KEY"
2. Register (charged to your balance)
curl -X POST https://api.inf.nz/v1/domains \
-H "Authorization: Bearer $KEY" \
-H "Idempotency-Key: order-1042" \
-H "Content-Type: application/json" \
-d '{"name":"acme","zone":"inf.nz","periodMonths":12,
"registrant":{"name":"Asha Rao","email":"asha@acme.example","country":"IN"}}'3. Point it somewhere (hosted DNS)
curl -X PUT https://api.inf.nz/v1/domains/acme.inf.nz/records \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"records":[{"name":"@","type":"A","content":"203.0.113.10"}]}'4. Renew before it expires
curl -X POST https://api.inf.nz/v1/domains/acme.inf.nz/renew \
-H "Authorization: Bearer $KEY" -H "Idempotency-Key: renew-77" \
-H "Content-Type: application/json" \
-d '{"periodMonths":12,"currentExpiry":"2027-10-15"}'Lifecycle
- Step 1ACTIVE
Resolving. Renew any time (max 10 years ahead).
- Step 2EXPIRED
Past expiry: parked, renew at the normal price.
- Step 3REDEMPTION
Restore only (restore fee + renewal).
- Step 4PENDING_DELETE
Off DNS; nothing allowed.
- Step 5Purged
Name available to everyone again.
Transfers: the gaining registrar submits the auth code; the losing registrar approves or rejects, otherwise it completes automatically after 5 days and adds a year.
Endpoints
Machine-readable spec: openapi.json · Need access? Apply to become a registrar