Cancel order

POST /api/v1/orders/:order_id/cancel write:order

Cancels an unpaid order (PENDING_PAYMENT only) and releases its card(s) so they can be re-quoted. Idempotent: cancelling an already-CANCELLED order also returns 200. Committed, in-flight, fulfilled or returned orders are rejected (409). The path takes the integer order_id. A reference works only on a quote that has one (quotes created from 2026-10-07 do not: an order’s reference is assigned at commit).

Try it POST /api/v1/orders/0/cancel write

These inputs are shared across all docs pages, so an id entered here carries over.

response

Not run yet. Press Run to make a live call against https://service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).

curl (tracks the inputs above)
curl -X POST 'https://service.rip.fun/api/v1/orders/0/cancel' \
  -H 'X-API-Key: rip_…'

Response fields (data)

FieldDescription
(serialized order)The order with status CANCELLED (same shape as GET /orders/:order_id)

Errors

StatusCodeWhen
403Insufficient permissionskey is tenant-scoped but carries neither write:order nor admin — a read-only key can list and fetch orders but not open, commit or cancel one
400invalid order_idorder_id is neither a positive integer nor a reference like 101326AA0042
404order not foundorder not part of your account
409cannot be cancelledorder is not PENDING_PAYMENT — carries data: {order_id, status}

See Errors for the response envelope and the full code list.