Register Domain
Register a new domain name. This endpoint creates an order, charges your saved payment method, and initiates domain provisioning. Use the Get Order Status endpoint to track progress.
Register a new domain name. This endpoint creates an order, charges your saved payment method, and initiates domain provisioning. Use the Get Order Status endpoint to track progress.
Required scope: domains:provision
| Header | Required | Value |
|---|---|---|
Authorization |
Yes | Bearer YOUR_API_KEY |
Content-Type |
Yes | application/json |
| Parameter | Required | Description |
|---|---|---|
domain |
Yes | Full domain name to register (e.g. example.com) |
period |
No | Registration period in years (default: 1, max: 10) |
nameservers |
No | Array of custom nameservers (max 5). If omitted, Sitequest defaults are used. |
whoisPrivacy |
No | Enable WHOIS privacy protection (true or false) |
{
"data": {
"orderId": "507f1f77bcf86cd799439011",
"orderToken": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"domain": "example.com",
"status": "completed",
"paymentId": "tr_abc123"
}
}
| Field | Type | Description |
|---|---|---|
orderId |
string | Order ID for tracking |
orderToken |
string | Order token (UUID) for tracking |
domain |
string | The domain that was registered |
status |
string | completed, payment_pending, or payment_failed |
paymentId |
string | Mollie payment ID |
| Status | Description |
|---|---|
completed |
Payment succeeded, domain is being provisioned |
payment_pending |
Payment initiated (e.g. SEPA direct debit), awaiting confirmation |
payment_failed |
Payment was declined or failed |
Before using this endpoint, ensure:
| Status | Code | Description |
|---|---|---|
| 400 | MISSING_DOMAIN |
The domain field is required |
| 400 | INVALID_DOMAIN |
Invalid domain format |
| 400 | PRICING_UNAVAILABLE |
TLD is not offered or pricing unavailable |
| 403 | account_suspended |
Account is suspended |
| 403 | no_valid_mandate |
No valid payment method on file |
| 403 | no_billing_address |
Billing address is missing |
| 403 | INSUFFICIENT_SCOPE |
API key lacks domains:provision scope |
| 409 | DOMAIN_UNAVAILABLE |
Domain is not available for registration |
| 409 | DUPLICATE_ORDER |
An identical order is already pending |
| 502 | DOMAIN_CHECK_FAILED |
Could not verify domain availability |
# Register a domain
curl -X POST https://hosting.site.quest/api/v1/domains/register \
-H "Authorization: Bearer sq_live_a94ecfca096d..." \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
# Register with custom nameservers and 2-year period
curl -X POST https://hosting.site.quest/api/v1/domains/register \
-H "Authorization: Bearer sq_live_a94ecfca096d..." \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"period": 2,
"nameservers": ["ns1.custom.com", "ns2.custom.com"],
"whoisPrivacy": true
}'
This action is also available via the register_domain MCP tool.