Start (or resume) checkout for an order
Starts, or returns the existing active, checkout session for an order. Idempotent while a session is still active — calling this repeatedly before expiry returns the same token.
/orders/{order_id}/checkout_sessionAuthorizationBearer token (JWT) · headerrequiredorder_idstringrequiredapplication/jsonreturn_urlstringWhere to redirect the buyer after a hosted-redirect-mode gateway round-trip. Its host must match the shop's own domain or one of its configured allowed embed origins — any other host is rejected with 422, to prevent open redirects. Only applied if the session doesn't already have a return_url (first caller wins); ignored on later idempotent calls.
Checkout session
tokenstringstatusstringorder_idintegerreturn_urlstring | nullWhere the buyer is redirected after a hosted-redirect-mode gateway round-trip (see storefronts headless-reference.md). Set at most once per session lineage — the first non-blank return_url given to POST /orders/{order_id}/checkout_session wins; later calls while the same session is still active are ignored. Carried forward automatically if the session is later forked due to a stale cart total.
expires_atstring<date-time>last_viewed_atstring<date-time> | nullview_countintegercheckout_urlstringEither this shop is not on the session-based checkout, or return_url was given but its host isn't allowed for this shop