Skip to main content
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 once the provider confirms the fund. The card must be ACTIVE — you cannot fund a FROZEN or TERMINATED card.
Funding is asynchronous. A successful (2xx) response means the request was accepted and is pending confirmation from the card provider — the fund is not final and may still be rejected. The funding transaction stays PENDING until the provider confirms it. Use the CARD_FUNDED (confirmed — card credited) and CARD_FUND_FAILED (rejected — program ledger refunded) webhooks as the source of truth. Both echo the caller reference you supplied for reconciliation.

Path Parameters

Request Body

Idempotency

Funding is idempotent on the reference field. If you retry a fund with the same reference for the same card, the API returns the original result and does not debit your program balance or fund the card again — a client retry or accidental double-submit can never double-charge. Always send a stable, unique reference per logical fund.

Example

Success Response (200)

Webhook

A CARD_FUNDED event fires after a successful funding:

Error Codes

CARD_FUNDING_UNAVAILABLE is a transient condition, not a problem with your request or balance — treat it as retryable (with backoff). It is distinct from INSUFFICIENT_PROGRAM_BALANCE, which means your program balance is too low and requires a top-up.

Authorizations

Authorization
string
header
required

API key from the FYATU CaaS portal. Pass as Authorization: Bearer <key>.

Path Parameters

id
string
required

Body

application/json
amount
number<double>
required
Example:

50

reference
string
Example:

"order-001"

Response

Card funded

success
boolean
Example:

true

status
integer
Example:

200

message
string
Example:

"Card funded"

data
object
meta
object