---
title: Registrations
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/python)

[Registrar Sandbox](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Registrations

##### [Create Registration](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox/subresources/registrations/methods/create)

registrar\_sandbox.registrations.create(RegistrationCreateParams\*\*kwargs)  \-> [RegistrationCreateResponse](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox#%28resource%29%20registrar%5Fsandbox.registrations%20%3E%20%28model%29%20registration%5Fcreate%5Fresponse%20%3E%20%28schema%29)

POST/accounts/{account\_id}/registrar-sandbox/registrations

##### [List Registrations](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox/subresources/registrations/methods/list)

registrar\_sandbox.registrations.list(RegistrationListParams\*\*kwargs)  \-> SyncCursorPagination\[[RegistrationListResponse](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox#%28resource%29%20registrar%5Fsandbox.registrations%20%3E%20%28model%29%20registration%5Flist%5Fresponse%20%3E%20%28schema%29)\]

GET/accounts/{account\_id}/registrar-sandbox/registrations

##### [Get Registration](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox/subresources/registrations/methods/get)

registrar\_sandbox.registrations.get(strdomain\_name, RegistrationGetParams\*\*kwargs)  \-> [RegistrationGetResponse](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox#%28resource%29%20registrar%5Fsandbox.registrations%20%3E%20%28model%29%20registration%5Fget%5Fresponse%20%3E%20%28schema%29)

GET/accounts/{account\_id}/registrar-sandbox/registrations/{domain\_name}

##### [Update Registration](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox/subresources/registrations/methods/edit)

registrar\_sandbox.registrations.edit(strdomain\_name, RegistrationEditParams\*\*kwargs)  \-> [RegistrationEditResponse](https://developers.cloudflare.com/api/python/resources/registrar%5Fsandbox#%28resource%29%20registrar%5Fsandbox.registrations%20%3E%20%28model%29%20registration%5Fedit%5Fresponse%20%3E%20%28schema%29)

PATCH/accounts/{account\_id}/registrar-sandbox/registrations/{domain\_name}

##### ModelsExpand Collapse 

class RegistrationCreateResponse: …

Status of an async registration workflow.

completed: bool

Indicates whether the workflow reached a terminal state. A `succeeded` or `failed` state returns `true`; `pending`, `in_progress`, `action_required`, and `blocked` return `false`.

created\_at: datetime

formatdate-time

links: Links

self: str

URL to this status resource.

resource: Optional\[str\]

URL to the domain resource.

state: Literal\["pending", "in\_progress", "action\_required", 3 more\]

Describes the workflow lifecycle state.

* `pending`: The workflow awaits processing.
* `in_progress`: Processing started. Continue polling `links.self`. An internal deadline limits the duration of this state.
* `action_required`: The workflow pauses for user action. See `context.action` for details. Stop automated polling until the user completes the required action.
* `blocked`: A third party, such as the domain extension’s registry or a losing registrar, prevents progress. Continue polling because the block may resolve when the third party responds.
* `succeeded`: Terminal state. The operation completed successfully. `completed` equals `true`. For registrations, `context.registration` contains the resulting registration resource.
* `failed`: Terminal state. The operation failed. `completed` equals `true`. See `error.code` and `error.message` for the reason. Require user review before retrying.

One of the following:

"pending"

"in\_progress"

"action\_required"

"blocked"

"succeeded"

"failed"

updated\_at: datetime

formatdate-time

context: Optional\[Dict\[str, object\]\]

Provides workflow-specific data.

For domain-centric workflows, `context.domain_name` identifies the workflow subject.

error: Optional\[Error\]

Provides error details when a workflow reaches the `failed` state. The workflow type (registration, update, etc.) and underlying registry response determine the specific codes and messages. Workflow error codes differ from immediate HTTP error `errors[].code` values in non-2xx responses. Surface `error.message` to the user for context.

code: str

Machine-readable error code identifying the failure reason.

message: str

Human-readable explanation of the failure. May include registry-specific details.

class RegistrationListResponse: …

A domain registration resource representing the current state of a registered domain.

auto\_renew: bool

Whether automatic renewal occurs before expiration.

created\_at: datetime

When the domain was registered. Present when the registration resource exists.

formatdate-time

domain\_name: str

Provides a fully qualified domain name (FQDN), including the extension (e.g., `example.com`, `mybrand.app`). The domain name uniquely identifies a registration. Cloudflare permits only one registration per domain, making the domain name a natural idempotency key for registration requests.

expires\_at: Optional\[datetime\]

When the domain registration expires. Ready registrations include this value; only `registration_pending` may return null.

formatdate-time

locked: bool

Whether the domain is locked for transfer.

privacy\_mode: Literal\["off", "redaction"\]

Current WHOIS privacy mode for the registration.

One of the following:

"off"

"redaction"

status: Literal\["active", "registration\_pending", "expired", 3 more\]

Current registration status.

* `active`: The domain operates with an active registration.
* `registration_pending`: Registration remains in progress.
* `expired`: The domain registration expired.
* `suspended`: The registry suspended the domain.
* `redemption_period`: The domain entered the redemption grace period.
* `pending_delete`: The registry scheduled the domain for deletion.

One of the following:

"active"

"registration\_pending"

"expired"

"suspended"

"redemption\_period"

"pending\_delete"

class RegistrationGetResponse: …

A domain registration resource representing the current state of a registered domain.

auto\_renew: bool

Whether automatic renewal occurs before expiration.

created\_at: datetime

When the domain was registered. Present when the registration resource exists.

formatdate-time

domain\_name: str

Provides a fully qualified domain name (FQDN), including the extension (e.g., `example.com`, `mybrand.app`). The domain name uniquely identifies a registration. Cloudflare permits only one registration per domain, making the domain name a natural idempotency key for registration requests.

expires\_at: Optional\[datetime\]

When the domain registration expires. Ready registrations include this value; only `registration_pending` may return null.

formatdate-time

locked: bool

Whether the domain is locked for transfer.

privacy\_mode: Literal\["off", "redaction"\]

Current WHOIS privacy mode for the registration.

One of the following:

"off"

"redaction"

status: Literal\["active", "registration\_pending", "expired", 3 more\]

Current registration status.

* `active`: The domain operates with an active registration.
* `registration_pending`: Registration remains in progress.
* `expired`: The domain registration expired.
* `suspended`: The registry suspended the domain.
* `redemption_period`: The domain entered the redemption grace period.
* `pending_delete`: The registry scheduled the domain for deletion.

One of the following:

"active"

"registration\_pending"

"expired"

"suspended"

"redemption\_period"

"pending\_delete"

class RegistrationEditResponse: …

Status of an async registration workflow.

completed: bool

Indicates whether the workflow reached a terminal state. A `succeeded` or `failed` state returns `true`; `pending`, `in_progress`, `action_required`, and `blocked` return `false`.

created\_at: datetime

formatdate-time

links: Links

self: str

URL to this status resource.

resource: Optional\[str\]

URL to the domain resource.

state: Literal\["pending", "in\_progress", "action\_required", 3 more\]

Describes the workflow lifecycle state.

* `pending`: The workflow awaits processing.
* `in_progress`: Processing started. Continue polling `links.self`. An internal deadline limits the duration of this state.
* `action_required`: The workflow pauses for user action. See `context.action` for details. Stop automated polling until the user completes the required action.
* `blocked`: A third party, such as the domain extension’s registry or a losing registrar, prevents progress. Continue polling because the block may resolve when the third party responds.
* `succeeded`: Terminal state. The operation completed successfully. `completed` equals `true`. For registrations, `context.registration` contains the resulting registration resource.
* `failed`: Terminal state. The operation failed. `completed` equals `true`. See `error.code` and `error.message` for the reason. Require user review before retrying.

One of the following:

"pending"

"in\_progress"

"action\_required"

"blocked"

"succeeded"

"failed"

updated\_at: datetime

formatdate-time

context: Optional\[Dict\[str, object\]\]

Provides workflow-specific data.

For domain-centric workflows, `context.domain_name` identifies the workflow subject.

error: Optional\[Error\]

Provides error details when a workflow reaches the `failed` state. The workflow type (registration, update, etc.) and underlying registry response determine the specific codes and messages. Workflow error codes differ from immediate HTTP error `errors[].code` values in non-2xx responses. Surface `error.message` to the user for context.

code: str

Machine-readable error code identifying the failure reason.

message: str

Human-readable explanation of the failure. May include registry-specific details.