Accept the renewed, higher total on the current checkout session

Record that the traveler accepted the total reported in pendingRepriceAcceptance.newTotal on GET /v1/checkout/sessions/current, which clears that field. The acceptance is stored on the session, so it holds on every device and in both auth modes (guest session token, or consumer HMAC + BearerToken after account creation).

newTotal must be the session's current pending total. If a later renewal changed it again, or nothing is pending and it is not the held total, the call returns 409 PRICE_ACCEPTANCE_STALE and the client re-reads the session and asks again. Accepting a total that is already accepted and still current succeeds, so a retry or a second device is harmless.

The Idempotency-Key header is required. Idempotency comes from that convergence: replaying a key after the acceptance was recorded returns 200 with the session again, as long as newTotal is still the session's total.

While an acceptance is pending, POST /v1/{vertical}/bookings/{booking_id}/confirm rejects with 409 PRICE_ACCEPTANCE_REQUIRED and captures no charge, for every checkout vertical (flights, stays, trains, cars).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Body for recording acceptance of a renewed, higher total.

newTotal
object
required

The total the traveler accepted, exactly as reported in pendingRepriceAcceptance.newTotal. Rejected with 409 PRICE_ACCEPTANCE_STALE when it is no longer the session's current total.

Headers

Client-generated idempotency key (UUID v4 recommended). Replaying the same key after the acceptance was recorded returns the session again instead of failing.

Responses

401

Missing or invalid authentication

404

Checkout session not found

422

Missing Idempotency-Key header or invalid body

503

Database unavailable

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json