Get a checkout
The whole current state in one object: status, the append-only progressItems timeline, the pendingUserAction if the run is blocked, and the receipt once it has succeeded.
This is the endpoint you poll. Reads are not rate limited; a 3–5 second interval is right for a process that takes minutes.
Requires the checkouts.read scope.
Authorizations
Authorization: Bearer ck_test_… or ck_live_…. There is no other auth scheme — no query-string keys, no request signing, no OAuth.
Path Parameters
The checkout id returned at creation.
Response
The checkout.
The whole state of one run. This is what you poll.
succeeded, failed and cancelled are terminal; nothing leaves them.
queued, running, awaiting_user_action, succeeded, failed, cancelled Yours. Stored and echoed back untouched; never sent to a merchant, and not searchable.
Append-only, ordered by sequence. Build your UI around this rather than a spinner.
Your own id for the end user this purchase is for. Absent when the checkout is not tagged to one. Set explicitly at creation, or stamped from the authenticating key's binding.
"user_a91f"
Absent when no profile was attached, and absent after the referenced profile was deleted.
Present once a browser session exists. Not a URL you can watch at — a pointer to the endpoint that mints one.
Present only while the run is blocked. At most one per checkout at a time.
Present only on a succeeded checkout.