Skip to content
Start here

Registrations

Create Registration
registrar_sandbox.registrations.create(RegistrationCreateParams**kwargs) -> RegistrationCreateResponse
POST/accounts/{account_id}/registrar-sandbox/registrations
List Registrations
registrar_sandbox.registrations.list(RegistrationListParams**kwargs) -> SyncCursorPagination[RegistrationListResponse]
GET/accounts/{account_id}/registrar-sandbox/registrations
Get Registration
registrar_sandbox.registrations.get(strdomain_name, RegistrationGetParams**kwargs) -> RegistrationGetResponse
GET/accounts/{account_id}/registrar-sandbox/registrations/{domain_name}
Update Registration
registrar_sandbox.registrations.edit(strdomain_name, RegistrationEditParams**kwargs) -> RegistrationEditResponse
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
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
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.