Read a reservation
Reports a reservation’s current state, what it covers, and every close already committed against it.
closes exists for one recovery: a client that has lost its Idempotency-Key and cannot reproduce the events it sent can read what already landed, instead of resending and burning twice. This is a read and cannot settle anything. An unknown or foreign token returns 404, indistinguishably.
Authorizations
API key authentication. Pass your API key as a Bearer token.
Headers
2026-04-01 Path Parameters
Unique identifier for the reservation
Response
Success
Credits this reservation fenced when it opened.
"500"
Every close already committed, oldest first. This is how a client that lost its Idempotency-Key discovers what already landed instead of resending and burning twice.
What every close so far priced to: the sum of closes[].used, not of closes[].covered, less anything voided. Under on_envelope_exceeded: record a close can price past the hold, so this can exceed block_amount — and because remaining floors at zero, block_amount − consumed is not a way to derive it. Sum closes[].covered instead for what the ledger actually burned.
"266"
The metrics this hold covers — one entry per credit-consuming metric its settles price against. A settle's events must carry event names these identities count.
Whether the reservation can still be settled against.
Credits still authorised: block_amount − consumed, floored at zero. Zero once the reservation is terminal, whatever the arithmetic would otherwise allow.
"234"
"crt_abc123"
open, capturing, captured, released, expired, or recovery_pending.
"open"
When the hold expires. Absent once terminal.
"2026-04-01T10:20:00Z"
Why the expiry stopped advancing, if it has. billing_period_close when an invoice close needs this hold to end.
"billing_period_close"