POST · Domains
Hold a domain registration for confirmation
Hold a domain registration for confirmation
/api/v1/domains/{domain}/actions/register
Description
Validates and quotes, then returns {status:"confirmation_required", confirmationUrl, …}. It registers nothing and charges nothing — the model shows the URL to the human, who approves it in the client area. On approval a proforma invoice with a payment link is created. Poll get_pending_action for the outcome.
Path parameters
| Name | Type | Description |
|---|---|---|
domain
required
|
string |
The domain to register, e.g. example.com.
|
Body
Send as application/json.
| Name | Type | Description |
|---|---|---|
domain
required
|
string |
The domain to register, e.g. example.com.
|
years
|
integer | How many years to register for (1–10). Omit for the registry default. |
contact
|
object | Optional registrant contact. Omit to use the account default contact. |
name
|
string | Registrant full name. |
company
|
string | Company / organisation name. |
email
|
string | Registrant email address. |
phone
|
string | Registrant phone number. |
address
|
string | Street address. |
city
|
string | City. |
postcode
|
string | Postal code. |
country
|
string |
Two-letter ISO country code, e.g. SE.
|
attempt_key
|
string | Idempotency key for this intent. Keep it stable across retries so a timed-out retry cannot buy the same thing twice. Up to 128 characters. |
Responses
A 200 response returns the shape shown in the rail.
Every non-2xx response is an RFC 7807 problem with a stable
code.
Commonly returned errors
The codes this operation reaches on its own path: the auth stack, its own validation and
ownership checks, and the transport. Not a closed set — a shared code from the
full registry can still surface. Each links to the code’s own page,
the same URL its type dereferences to.