Skip to main content
POST

Update Checkout Session

Patches an open session and returns it re-priced. This is how you clear blocking messages[] and move a session to ready_for_payment.
Requires checkout: write, an allowlisted partner key, and a signed request — same headers as create.
Note the method: ACP uses POST, not PATCH, for updates.

Path Parameters

string
required
The session to update.

Body

Every field is optional — send only what changes.
array
1–20 lines. Replaces the cart wholesale, it is not merged. To change one line, send all the lines you want.
object
name and email required when present. Commonly used to supply the buyer after creating a session without one.
array
Up to 50 answers. Replaces the stored set wholesale, like items.
object
Required before payment when the cart contains a posted ticket.
string
The chosen option’s id.
items and attendee_answers replace, they do not merge. Sending items: [{id: "A", quantity: 1}] on a session that held A and B removes B.

Response

200 with the re-priced session. Totals are recalculated on every update, so a price change or a tier selling out shows up here rather than surprising you at completion.

Terminal sessions cannot be updated

A completed or canceled session is immutable and returns 409 invalid_session_state. A completed session is immutable because editing the cart behind a paid order would make the stored session disagree with what the buyer was actually charged for and what their tickets say.

Working through blockers

Clearing blocking messages