Unload a card
Cards
Unload Card
Return funds from a card back to your program ledger. POST /cards//unload. Requires cards:write scope.
POST
Unload a card
Overview
Transfers funds from a card back to your program ledger. Use this to reclaim unused balances, or to zero out a card before terminating it. The card must beACTIVE — you cannot unload from a FROZEN card.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | The card ID (prefix crd_) |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
amount | number | Yes | Amount in full currency units (e.g. 25.00 = $25). Must not exceed the card’s current balance. |
reference | string | No | Optional caller-supplied reference echoed back in the response and webhook |
Idempotency
Supply anIdempotency-Key header to safely retry without duplicating the transfer.
Example
Success Response (200)
Webhook
ACARD_UNLOADED event fires after a successful unload:
Error Codes
| Code | HTTP | Cause |
|---|---|---|
CARD_NOT_FOUND | 404 | Card does not exist or belongs to another business/environment |
CARD_ALREADY_TERMINATED | 422 | Card is already terminated |
INSUFFICIENT_CARD_BALANCE | 422 | Requested unload amount exceeds the card’s current balance |
INVALID_AMOUNT | 400 | Amount is zero or negative |
PROVIDER_UNLOAD_FAILED | 422 | Card provider rejected the unload |
INSUFFICIENT_SCOPE | 403 | Key lacks cards:write scope |
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.

