Skip to content
Start here

Registrations

Create Registration
client.registrarSandbox.registrations.create(RegistrationCreateParams { account_id, domain_name, auto_renew, 4 more } params, RequestOptionsoptions?): RegistrationCreateResponse { completed, created_at, links, 4 more }
POST/accounts/{account_id}/registrar-sandbox/registrations
List Registrations
client.registrarSandbox.registrations.list(RegistrationListParams { account_id, cursor, direction, 2 more } params, RequestOptionsoptions?): CursorPagination<RegistrationListResponse { auto_renew, created_at, domain_name, 4 more } >
GET/accounts/{account_id}/registrar-sandbox/registrations
Get Registration
client.registrarSandbox.registrations.get(stringdomainName, RegistrationGetParams { account_id } params, RequestOptionsoptions?): RegistrationGetResponse { auto_renew, created_at, domain_name, 4 more }
GET/accounts/{account_id}/registrar-sandbox/registrations/{domain_name}
Update Registration
client.registrarSandbox.registrations.edit(stringdomainName, RegistrationEditParams { account_id, auto_renew, Prefer } params, RequestOptionsoptions?): RegistrationEditResponse { completed, created_at, links, 4 more }
PATCH/accounts/{account_id}/registrar-sandbox/registrations/{domain_name}
ModelsExpand Collapse
RegistrationCreateResponse { completed, created_at, links, 4 more }

Status of an async registration workflow.

completed: boolean

Whether the workflow has reached a terminal state. true when state is succeeded or failed. false for pending, in_progress, action_required, and blocked.

created_at: string
formatdate-time
state: "pending" | "in_progress" | "action_required" | 3 more

Workflow lifecycle state.

  • pending: Workflow has been created but not yet started processing.
  • in_progress: Actively processing. Continue polling links.self. The workflow has an internal deadline and will not remain in this state indefinitely.
  • action_required: Paused — requires action by the user (not the system). See context.action for what is needed. An automated polling loop must break on this state; it will not resolve on its own without user intervention.
  • blocked: The workflow cannot make progress due to a third party such as the domain extension’s registry or a losing registrar. No user action will help. Continue polling — the block may resolve when the third party responds.
  • succeeded: Terminal. The operation completed successfully. completed will be true. For registrations, context.registration contains the resulting registration resource.
  • failed: Terminal. The operation failed. completed will be true. See error.code and error.message for the reason. Do not auto-retry without user review.
One of the following:
"pending"
"in_progress"
"action_required"
"blocked"
"succeeded"
"failed"
updated_at: string
formatdate-time
context?: Record<string, unknown>

Workflow-specific data for this workflow.

The workflow subject is identified by context.domain_name for domain-centric workflows.

error?: Error | null

Error details when a workflow reaches the failed state. The specific error codes and messages depend on the workflow type (registration, update, etc.) and the underlying registry response. These workflow error codes are separate from immediate HTTP error errors[].code values returned by non-2xx responses. Surface error.message to the user for context.

code: string

Machine-readable error code identifying the failure reason.

message: string

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

RegistrationListResponse { auto_renew, created_at, domain_name, 4 more }

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

auto_renew: boolean

Whether the domain will be automatically renewed before expiration.

created_at: string

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

formatdate-time
domain_name: string

Fully qualified domain name (FQDN) including the extension (e.g., example.com, mybrand.app). The domain name uniquely identifies a registration — the same domain cannot be registered twice, making it a natural idempotency key for registration requests.

expires_at: string | null

When the domain registration expires. Present when the registration is ready; may be null only while status is registration_pending.

formatdate-time
locked: boolean

Whether the domain is locked for transfer.

privacy_mode: "redaction"

Current WHOIS privacy mode for the registration.

status: "active" | "registration_pending" | "expired" | 3 more

Current registration status.

  • active: Domain is registered and operational
  • registration_pending: Registration is in progress
  • expired: Domain has expired
  • suspended: Domain is suspended by the registry
  • redemption_period: Domain is in the redemption grace period
  • pending_delete: Domain is pending deletion by the registry
One of the following:
"active"
"registration_pending"
"expired"
"suspended"
"redemption_period"
"pending_delete"
RegistrationGetResponse { auto_renew, created_at, domain_name, 4 more }

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

auto_renew: boolean

Whether the domain will be automatically renewed before expiration.

created_at: string

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

formatdate-time
domain_name: string

Fully qualified domain name (FQDN) including the extension (e.g., example.com, mybrand.app). The domain name uniquely identifies a registration — the same domain cannot be registered twice, making it a natural idempotency key for registration requests.

expires_at: string | null

When the domain registration expires. Present when the registration is ready; may be null only while status is registration_pending.

formatdate-time
locked: boolean

Whether the domain is locked for transfer.

privacy_mode: "redaction"

Current WHOIS privacy mode for the registration.

status: "active" | "registration_pending" | "expired" | 3 more

Current registration status.

  • active: Domain is registered and operational
  • registration_pending: Registration is in progress
  • expired: Domain has expired
  • suspended: Domain is suspended by the registry
  • redemption_period: Domain is in the redemption grace period
  • pending_delete: Domain is pending deletion by the registry
One of the following:
"active"
"registration_pending"
"expired"
"suspended"
"redemption_period"
"pending_delete"
RegistrationEditResponse { completed, created_at, links, 4 more }

Status of an async registration workflow.

completed: boolean

Whether the workflow has reached a terminal state. true when state is succeeded or failed. false for pending, in_progress, action_required, and blocked.

created_at: string
formatdate-time
state: "pending" | "in_progress" | "action_required" | 3 more

Workflow lifecycle state.

  • pending: Workflow has been created but not yet started processing.
  • in_progress: Actively processing. Continue polling links.self. The workflow has an internal deadline and will not remain in this state indefinitely.
  • action_required: Paused — requires action by the user (not the system). See context.action for what is needed. An automated polling loop must break on this state; it will not resolve on its own without user intervention.
  • blocked: The workflow cannot make progress due to a third party such as the domain extension’s registry or a losing registrar. No user action will help. Continue polling — the block may resolve when the third party responds.
  • succeeded: Terminal. The operation completed successfully. completed will be true. For registrations, context.registration contains the resulting registration resource.
  • failed: Terminal. The operation failed. completed will be true. See error.code and error.message for the reason. Do not auto-retry without user review.
One of the following:
"pending"
"in_progress"
"action_required"
"blocked"
"succeeded"
"failed"
updated_at: string
formatdate-time
context?: Record<string, unknown>

Workflow-specific data for this workflow.

The workflow subject is identified by context.domain_name for domain-centric workflows.

error?: Error | null

Error details when a workflow reaches the failed state. The specific error codes and messages depend on the workflow type (registration, update, etc.) and the underlying registry response. These workflow error codes are separate from immediate HTTP error errors[].code values returned by non-2xx responses. Surface error.message to the user for context.

code: string

Machine-readable error code identifying the failure reason.

message: string

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