domains

PUT /v1/domains/default-registrant

Set the owner the organization's new domains are registered to.

All domains endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the billing.payment.manage permission; a key without it is refused with 403, not 404.

Where your organisation id goes

This endpoint takes org_id as a query parameter. Leave it out and the call covers your whole tenancy subtree; send it to narrow the call to one organisation.

Your organisation id is on the API keys screen in your dashboard, beside the key itself. It is the same id in every call you make.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X PUT https://api.zinndigital.com/v1/domains/default-registrant \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "first": <string>, "last": <string>, "email": <string>, "phone": <string>, "street": <string[]>, "city": <string>, "postcode": <string>, "country": <string> }'

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Replaces the organization's default registrant. Checkout refuses a basket that registers or transfers a domain with 422 REGISTRANT_REQUIRED while the organization has no complete default and the request names no registrant, so this is how an integration sets it ahead of buying. Never rewrites an existing domain. A default already recorded as the owner of a domain is kept as it is and a new record becomes the default; change an existing domain's owner with updateDomainContact, which drives the registrar. The phone is stored in the EPP +CC.NUMBER form and must carry its country code. Requires billing.payment.manage — the permission that places an order.

Parameters

NameTypeRequiredWhat it is
org_id (query)UuidNoThe organization to change; defaults to the caller's own.

Request body

NameTypeRequiredWhat it is
firststringYes—
laststringYes—
org_namestringNo—
emailstringYes—
phonestringYesInternational form with the country code (+44 20 7946 0000, 0044… also accepted). Stored and returned as EPP +CC.NUMBER (+44.2079460000).
streetstring[]Yes—
citystringYes—
statestringNoMay be blank — most of the world has no state.
postcodestringYes—
countrystringYes—

Response

NameTypeRequiredWhat it is
registrantRegistrant | nullYesThe organization's default registrant, or null when none is set.
completebooleanYesWhether a registrar would accept it. A checkout that registers or transfers a domain needs true here or a registrant in its own body.
missingstring[]YesThe required fields that are blank. Empty when complete.

Errors this endpoint can return

401 · 403 · 422 · 429