Cards
Issue, freeze, replace and cancel cards; set velocity caps.
Create a card for a cardholder
Create a card for a cardholder
Get all the cards for a client
KEYSET paginated: pass `cursor` from the previous pageβs `nextCursor` and stop when it is null. No page number and no total β the provider exposes neither. The `client_id` query parameter is required: the provider has no cross-client card list. `status` is applied by the provider, so a filtered page is still a full page.
Get a card by its id
Get a card by its id
Freeze a card
Bodyless and reversible β `POST /cards/:id/unfreeze` puts it back. A frozen card declines authorizations but keeps its PAN, its limit and its place in your lists.
Unfreeze a card
Bodyless and reversible. Returns a FROZEN card to ACTIVE; it does not revive a CANCELED one, which is terminal.
Cancel a card
Permanently retires the card. There is no successor and no reversal: a canceled card cannot be unfrozen, re-issued or restored, and freeze/unfreeze on it answer CARD_TERMINAL. Use freeze for anything you might want to undo. Repeating a cancel is safe β it returns the same card without calling the provider again.
Replace a card
For a lost, stolen or damaged card. The old card is CANCELED and a **new card** is returned, with a new id, a new PAN and a new expiry; the spending limit is inherited. There is no lineage field β keep the old id against the new one from this response. **Virtual cards only** β a physical card cannot be replaced (`422 REPLACE_NOT_APPLICABLE`); cancel it and issue a new one. Replacing an already-canceled card is `409 CARD_TERMINAL`. Concurrent replaces of the same card are serialized: exactly one succeeds and the other gets `409 OPERATION_IN_FLIGHT`.
Update a cardβs velocity cap
The body carries the whole cap, so repeating it converges rather than accumulating. Clearing to unlimited is not supported in v1 β every field is required.