Get a checkout session's event timeline
Ordered by seq ascending. Reconstruct-and-display only (R7) — this is a read of what already happened, never a re-execution of any part of the checkout. Payloads are redacted at write time; no payment credential or PAN/CVV-shaped field is ever present.
/checkout-sessions/{checkout_session_id}/timelineAuthorizationBearer token (JWT) · headerrequiredJWT issued by the external IdP via the OAuth 2.0 authorization-code flow (Kinde in
production; a simulator in test). The client obtains it and sends it as a Bearer token on
every authenticated call. Sarvex's services verify it — issuer, audience, signature
(IdP JWKS), expiry — and read identity and tenant from its claims. Sarvex does not issue
or revoke these tokens. merchant_id/store_id are read from the verified claims (and the
merchant→store mapping), never from the URL. The operator scope is required for
/operator/*. Operators acting on a specific merchant pass the X-Operate-As header,
which is recorded in the audit log.
checkout_session_idstringrequiredA checkout session the caller's merchant owns. Authorized server-side against the principal; not a free-form tenant selector.
cursorstringThe last seq seen on the previous page (0 = from the beginning).
limitintegerMaximum items per page.
Timeline entries.
datacheckout_session_timeline_entry[]requiredShow propertiesHide properties
checkout_session_timeline_entryseqintegeroccurred_atstring<date-time>event_typestringstagestringpayloadobjectRedacted at write time (R6) — never contains payment credential material, full PANs/tokens, or buyer PII beyond what the merchant already has via their own commerce backend.
pagepagerequiredShow propertiesHide properties
cursorstring | nullrequiredhas_morebooleanrequiredResource not found within the caller's tenant.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequireddetailsobject | null