| [ Web Proxy ] |
| Viewing: https://developers.cloudflare.com/api | [Back] [Original] |
Registrar API for searching, checking, registering, and managing domains through Cloudflare Registrar.
Before using this API, ensure:
https://dash.cloudflare.com/{account_id}/billing/payment-info before
calling POST /registrations.Throughout this API, extension refers to the domain extension part of a fully
qualified domain name the portion after the registrable label. For example,
in example.co.uk, the extension is co.uk (not just uk). This covers both
top-level domains like com and multi-level extensions like co.uk. This is
distinct from other uses of the word extension (e.g., EPP extensions).
This API supports programmatic registration for all extensions supported by the dashboard experience, with the following exceptions:
giving, mom, inc, lol, sh, link, cc, new
Cloudflare Registrar supports 400+ extensions in the dashboard. Extensions
listed above can be registered at https://dash.cloudflare.com/{account_id}/domains/registrations.
GET /domain-search?q={keyword} to discover available domains.POST /domain-check with candidate domains to verify real-time
availability and pricing.registrable: false, inspect reason to
understand whether the domain is unavailable, the extension is not supported
by this API, the extension is not supported by Cloudflare Registrar at all,
or the extensions registry has frozen new registrations.tier: premium, premium registration is
not currently supported by this API. Surface the premium pricing to the user,
but do not proceed to POST /registrations for that domain.GET /extensions/:extension_name
to discover the required values for registering this extension.POST /registrations with the chosen domain name for
supported non-premium registrations.201 Created, registration
completed within the default timeout and no polling is needed.202 Accepted, poll
links.self from the workflow response.state: action_required, stop polling and
surface context.action to the user.
The workflow will not resolve on its own.state: blocked, continue polling and
inform the user that a third party, such as the extension registry or losing
registrar, is delaying progress.state: failed, review
error.code and error.message, then decide whether user action or a new
Check call is needed.All successful domain registrations are non-refundable. Once the registration
workflow completes with state: succeeded, the charge cannot be reversed.
Confirm pricing and domain choice with the user before calling POST /registrations.
By default, mutating operations such as create and update hold the connection for a bounded, server-defined amount of time while the operation completes. In most cases, the response contains a completed workflow status and no polling is required.
201 (create)
or 200 (update) with a workflow_status where state: succeeded and
completed: true.202 Accepted with a workflow_status where completed: false. Use
the links.self URL to poll for completion.To receive an immediate 202 Accepted response without waiting, send the
Prefer: respond-async request header (RFC 7240). The server will acknowledge
it with a Preference-Applied: respond-async response header.
When the response is 202, poll the workflow status endpoint indicated by
links.self in the response body until the workflow reaches a terminal
state or requires user action.
Use the Registrar Sandbox API to test domain search, availability checks, registration, and domain management flows without buying real domains.
This API is a test environment for the production Registrar API.
Before using this API, make sure you have:
Because the Sandbox API is intended for testing, it behaves differently from the production Registrar API in a few important ways:
Sandbox purchases are still persisted. If you purchase a domain in the sandbox, that domain will not be available for others to purchase in the sandbox.
Throughout this API, extension refers to the domain extension part of a fully
qualified domain name the portion after the registrable label. For example,
in example.co.uk, the extension is co.uk (not just uk). This covers both
top-level domains like com and multi-level extensions like co.uk. This is
distinct from other uses of the word extension (e.g., EPP extensions).
The Sandbox API currently supports programmatic registration for these extensions:
com, net
The production Registrar API supports 40+ extensions.
Cloudflare Registrar supports 400+ extensions in the dashboard. Extensions
not listed above can be registered at https://dash.cloudflare.com/{account_id}/domains/registrations.
GET /domain-search?q={keyword} to discover available domains.POST /domain-check with candidate domains to verify real-time
availability and pricing.registrable: false, inspect reason to
understand whether the domain is unavailable, the extension is not supported
by this API, the extension is not supported by Cloudflare Registrar at all,
or the extensions registry has frozen new registrations.tier: premium, premium registration is
not currently supported by this API. The Sandbox API currently supports
only com and net, which do not have premium registrations, but clients
should still handle this response for consistency with the production
Registrar API. Surface the premium pricing to the user, but do not proceed
to POST /registrations for that domain.GET /extensions/:extension_name
to discover the required values for registering this extension.POST /registrations with the chosen domain name for
supported non-premium registrations.201 Created, registration
completed within the default timeout and no polling is needed.202 Accepted, poll
links.self from the workflow response.state: action_required, stop polling and
surface context.action to the user.
The workflow will not resolve on its own.state: blocked, continue polling and
inform the user that a third party, such as the extension registry or losing
registrar, is delaying progress.state: failed, review
error.code and error.message, then decide whether user action or a new
Check call is needed.By default, mutating operations such as create and update hold the connection for a bounded, server-defined amount of time while the operation completes. In most cases, the response contains a completed workflow status and no polling is required.
201 (create)
or 200 (update) with a workflow_status where state: succeeded and
completed: true.202 Accepted with a workflow_status where completed: false. Use
the links.self URL to poll for completion.To receive an immediate 202 Accepted response without waiting, send the
Prefer: respond-async request header (RFC 7240). The server will acknowledge
it with a Preference-Applied: respond-async response header.
When the response is 202, poll the workflow status endpoint indicated by
links.self in the response body until the workflow reaches a terminal
state or requires user action.
| Web Proxy Viewer | New URL | Original Page |