Resolve an action
200.
actionId is pendingUserAction.id from the checkout object. It must belong to that
checkout and still be pending.
Body
A discriminated union onaction. Nothing else validates.
- submit
- decline
Response
200 with the full checkout object — the same shape as GET /v1/checkouts/{id}, taken
after the update. pendingUserAction is gone.
The status returns to running on a submit — the run has resumed. On a decline the
checkout goes terminal with failure.reason: "user_cancelled".
Errors
What happens next
1
A redacted copy is written to the action record
Card-shaped field names —
card, cc-num, pan, cvc, cvv, security code,
expir — become "[redacted]". Everything else is stored as sent.2
The raw values go to a transient, delete-on-read store
Keyed by action id, with a short TTL. The only place raw values exist.
3
The resume event carries the action id and the outcome only
Never the values. The event bus persists payloads durably; values must not be in them.
4
The run resumes and consumes the values
Read inside the one step that types them, deleted once that step completes.