Fund a card
Cards
Fund Card
Load funds from your program ledger onto a card. POST /cards//fund. Requires cards:write scope.
POST
Fund a card
Overview
Transfers funds from your program ledger to a specific card. The program ledger balance decreases by the funded amount; the card becomes spendable immediately. The card must beACTIVE — you cannot fund a FROZEN or TERMINATED 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. 50.00 = $50). Must be greater than 0. |
reference | string | No | Optional caller-supplied reference (order ID, batch ID, etc.) echoed back in the response and webhook |
Idempotency
This is a write operation — supply anIdempotency-Key header to safely retry without duplicating the transfer.
Example
Success Response (200)
Webhook
ACARD_FUNDED event fires after a successful funding:
Error Codes
| Code | HTTP | Cause |
|---|---|---|
CARD_NOT_FOUND | 404 | Card does not exist or belongs to another business/environment |
CARD_FROZEN_CANNOT_FUND | 422 | Card is frozen — unfreeze before funding |
CARD_ALREADY_TERMINATED | 422 | Card is already terminated |
INSUFFICIENT_PROGRAM_BALANCE | 422 | Program ledger balance is too low |
INVALID_AMOUNT | 400 | Amount is zero, negative, or exceeds the program load cap |
PROVIDER_FUND_FAILED | 422 | Card provider rejected the funding — ledger has been reverted |
INSUFFICIENT_SCOPE | 403 | Key lacks cards:write scope |
Authorizations
API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.

