v1

latestOpenAPI 3.0.02026-07-26167441.9 MB

Manage Checkout Lifecycle

Renames, publishes, unpublishes, archives, restores, or promotes the checkout. The body carries any combination of name, description, status, and is_default — at least one field is required (an empty body is rejected with 400). Status transitions follow the lifecycle state machine: publish (PUBLISHED) is only valid from NOT_PUBLISHED; an ARCHIVED checkout is restored in two steps (status: NOT_PUBLISHED first, then status: PUBLISHED); patching to the current status is rejected. Metadata (name/description) remains editable while ARCHIVED. is_default accepts only true: it promotes the checkout to account default, force-publishing it from any state, and atomically demotes the previous default; when is_default: true is sent together with status, the promotion wins and status is ignored. The default checkout cannot be archived or unpublished.

patch/checkouts/{checkout_code}

Path parameters

checkout_codestring required

The unique identifier of the checkout to update (UUID, 36 chars). Non-UUID values are rejected with 400 before processing.

Headers

X-Idempotency-Keystring

Optional client key, up to 64 characters. Best-effort — re-sending the same key is not guaranteed to be de-duplicated.

Request body

namestring

New checkout name. Unique per account (a duplicate name is rejected with 409). Editable in any status, including ARCHIVED.

descriptionstring

New checkout description. Editable in any status, including ARCHIVED.

status'PUBLISHED' | 'NOT_PUBLISHED' | 'ARCHIVED'

Target lifecycle status. PUBLISHED is only reachable from NOT_PUBLISHED; NOT_PUBLISHED is reachable from PUBLISHED (unpublish) or ARCHIVED (restore); ARCHIVED is reachable from PUBLISHED or NOT_PUBLISHED. Any other transition — including patching to the current status — is rejected with 400. Unknown values are rejected with 400.

is_defaultboolean

Only true is accepted: promotes this checkout to account default, force-publishing it from any state and atomically demoting the previous default. false is rejected with 400 — demote by promoting another checkout instead.

Response

The updated checkout summary. The identifier is exposed as the top-level id. Read the resulting status with the Fetch endpoint.

idstring

Checkout identifier (UUID).

namestring

Checkout name.

descriptionstring

Checkout description.

is_defaultboolean

Whether this checkout is the account's default.

is_activeboolean

Whether the checkout is active (serving traffic).

created_atstring date-time

Creation timestamp (ISO-8601).