Nymwell
View as Markdown

Statuses and errors

Availability

Each name from search or suggestions has available.

FieldValues
tier (when available)standard: the ending's usual price. premium: priced higher by the registry; tell the person.
reason (when not available)See below
reasonMeansDo
domain_unavailableSomeone has it, or the registry holds itSuggest other names
extension_not_supportedNymwell can't sell this endingTry another ending
extension_disallows_registrationThe registry is not taking new names in this endingTry another ending

Availability comes only from the registrar. DNS, WHOIS, RDAP and screen_domains are screening.

Workflow

Anything that waits on a person, a payment or the registrar returns workflow:

{
  "state": "action_required",
  "completed": false,
  "action": {"type": "pay_checkout", "url": "https://checkout.stripe.com/…", "message": "Give url to the person; paying is their approval."},
  "links": {"self": "https://nymwell.com/api/v1/orders?id=ord_…"}
}
stateMeansDo
in_progressNymwell or the registrar is working on itCheck links.self again in a few seconds
blockedWaiting on a third party, such as the current registrar releasing a transferCheck again later; tell the person it can take days
action_requiredWaiting on the person (action.type: pay_checkout or approve_in_console)Give the person action.url; stop polling until they act
succeededDone (completed: true)Stop
failedEnded without doing it (completed: true); error.code and error.message say whyTell the person; don't retry without them

Order statuses

status on an order, and the workflow state it maps to.

statusworkflow.state
awaiting_paymentaction_required (pay_checkout)
registering, renewing, transferringin_progress
needs_attentionin_progress: the registrar didn't answer clearly; Nymwell checks before retrying, so nothing is bought twice
transfer_pendingblocked: the current registrar usually releases within 5 days
registered, renewed, transferredsucceeded
checkout_expiredfailed: the person didn't pay; quote again
failed_refundedfailed: the registrar refused and the payment was refunded
payment_failedfailed: auto-renew couldn't charge the saved card
failedfailed

Approvals (list_approvals, GET /api/v1/approvals): pending is action_required (approve_in_console); approved and applied is succeeded; rejected, expired and cancelled are failed.

Error codes

errorHTTPDo
authentication_required401The call needs the person's account: give them buy_url, or connect to https://nymwell.com/mcp/account
invalid_token, invalid_api_key401Sign in again, or ask for a new key
insufficient_scope403The key lacks that scope
domain_access_denied403The key's domain allowlist excludes this domain
invalid_domain400Send a name like example.com, without a path or email
rate_limited429Wait retry_after_seconds
domain_unavailable409Someone has it; search again
term_not_available422That number of years isn't offered; get_tld_info lists the allowed terms
quote_expired, quote_not_active409Get a new quote
registrant_required409A signed-in owner adds who domains are registered to, at https://nymwell.com/app/billing/#registrant
registrar_funds_low503Buying is paused; nothing was charged
integration_not_configured503That part isn't connected yet; GET /api/v1/status shows what is
registrar_error422 or 502The registrar refused (422) or didn't answer (502); nothing was charged