Skip to content

Create a Stripe Checkout Session for an annual managed-domain registration

POST
/v1/admin/orgs/{org_id}/billing/domain-checkout

Quotes the requested domain and a configured .com baseline with the registrar, reuses or creates a lookup-keyed annual Stripe Price, then returns a Checkout Session. Registration is queued only after the domain Checkout succeeds.

org_id
required
string
Idempotency-Key
string

Optional client-supplied key making a CREATE exactly-once. A retry with the same key returns the ORIGINAL response (same status + body) instead of creating a duplicate; the same key with a different request body returns 409. The body field client_id is honored as an alias when this header is absent. The key is scoped per tenant (and per agent on the agent plane), so keys never collide across callers.

object
domain
required
string
Example
agent.agency
success_url
required
string format: uri
cancel_url
required
string format: uri

Created

object
id
required

Stripe Checkout Session id.

string
url
required
string format: uri
status
required
string
mode
required
string
Allowed values: test live
domain
required
string
plan_tier
required
string
Allowed values: developer startup
currency
required
string
Example
usd
registrar_cost_cents
required
integer format: int64
baseline_com_cost_cents
required
integer format: int64
domain_annual_price_cents
required
integer format: int64
stripe_price_id
required
string

Invalid request.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope

Missing or invalid credential.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope

Authenticated but lacking the required scope, or out of quota.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope

Resource conflict (e.g. a duplicate entry).

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope

A required integration or server-side capability is not configured.

The canonical error envelope. error is a stable machine code.

object
error
required

Stable error code (e.g. unauthorized, forbidden, not_found, invalid, quota_exceeded, rate_limited).

string
Example
forbidden
message

Human-readable detail (never leaks internals).

string
Example
missing required scope