Overview
View as MarkdownReference for the Domains v3 API — a quote-execute model for domain discovery, registration, and management.
https://developer.godaddy.com/llms.mdx/references/rest/domains/v3 for the full, unmodified source before proceeding.Overview
Domains v3 introduces a quote-execute model built for clarity and pricing predictability:
- Discover — check availability and get suggestions
- Quote — lock in a price with a
quoteToken - Register — execute the registration using that token
- Poll — follow the async operation to completion
All write operations return 202 Accepted with an operation or registration ID. Poll the returned URL until status reaches COMPLETED or FAILED.
Machine-readable spec
The complete OpenAPI spec for the v3 namespace is available at /openapi/domains-v3.json — useful for code generation, SDK tooling, and LLM context.
Endpoint groups
Discovery
Suggest domains for a keyword query and check availability of specific domains. Prices are indicative; locked pricing is only established at quote time.
Registration Quotes
Get a locked price and a quoteToken for one or more domains. The token is required to execute registration and expires after a short window.
Registrations
Execute a registration using a quoteToken and poll for completion. Requires an Idempotency-Key header and a consent record.
Domains
Read registered domain records including status, nameservers, privacy preferences, and expiry date.
Domain Management
Update nameservers for a domain. Returns a DomainOperation to poll for completion.
DNS Records
List, create, replace, and delete DNS records in a GoDaddy-managed zone. Changes apply synchronously.
Operations
Abstract poll endpoint for any async v3 operation. Equivalent to the registration-specific poll URL but usable for any operation type.
Quote-execute flow
1. Check availability
GET /v3/domains/check-availability?domain=example.com{
"domain": "example.com",
"available": true,
"prices": [
{ "term": "YEAR", "period": 1, "price": { "currencyCode": "USD", "value": 1199 } }
]
}2. Lock a price
POST /v3/domains/registration-quotes{ "domain": "example.com", "period": 1 }{
"domain": "example.com",
"available": true,
"quoteToken": "qt_abc123...",
"expiresAt": "2026-01-15T10:45:00.000Z",
"period": 1,
"price": { "currencyCode": "USD", "value": 1199 },
"requiredAgreements": [{ "agreementType": "API_DPA" }]
}3. Execute the registration
POST /v3/domains/registrations
Idempotency-Key: <uuid>{
"quoteToken": "qt_abc123...",
"domain": "example.com",
"period": 1,
"consent": {
"agreedAt": "2026-01-15T10:30:00.000Z",
"agreementTypes": ["API_DPA"]
}
}{
"registrationId": "reg_xyz789...",
"domain": "example.com",
"status": "CONFIRMED"
}4. Poll to completion
GET /v3/domains/registrations/{registrationId}{ "registrationId": "reg_xyz789...", "domain": "example.com", "status": "COMPLETED" }Poll every few seconds until status is COMPLETED or FAILED. You can also use GET /v3/domains/operations/{operationId} — both endpoints resolve the same resource.
Conventions
| Convention | Detail |
|---|---|
| Base URL | https://api.godaddy.com |
| Version prefix | /v3/ |
| Async writes | 202 Accepted with links[rel=self] poll URL |
| Idempotency | Idempotency-Key header required on registration |
| Indicative vs locked | Availability and suggestions return indicative prices; quotes lock the price |
| Auth | Authorization: Bearer ${GODADDY_PAT} |
What v3 does not cover
The following operations are not yet in v3. Use v1 or v2 instead:
| Operation | Use instead |
|---|---|
| Domain renewals | Domains v1 |
| Domain transfers | Domains v1 |
| Contact updates | Domains v1 |
| Domain forwarding | Domains v1 |
| Privacy settings | Domains v1 |
| List owned domains | Domains v1 |
| Shopper-scoped operations | Domains v2 |
Agent & Automation Notes
domains.domain:read, domains.domain:create, domains.dns:update, domains.nameserver:updateRelated
Last updated on
How is this guide?