Skip to main content

Quickstart

This guide takes you from zero to a funded, active virtual card in five steps. You’ll need:
  • A FYATU CaaS account (apply at platform.fyatu.com)
  • A SANDBOX API key with cardholders:write, cards:write, and transactions:read scopes
  • A programId (visible in the portal under Programs)
Use your SANDBOX key for this guide. Sandbox operations are free, instant, and involve no real money or cards. KYC completes in a few seconds automatically.

Step 1 — Ping the API

Verify your setup by calling the health endpoint. No authentication required.
cURL
Response (200 OK)
If you see this response, your network access to the API is working. Move on to Step 2.

Step 2 — Create a Cardholder

A cardholder represents one of your end-users. KYC is triggered automatically on creation and runs asynchronously. In SANDBOX, approval happens within a few seconds.
Response (201 Created)
Save the cardholderId — you’ll need it in Step 4.

Step 3 — Wait for KYC Approval

KYC runs asynchronously after cardholder creation. In SANDBOX it completes within a few seconds. Option A — Webhook (recommended) Register a webhook that subscribes to CARDHOLDER_KYC_APPROVED and CARDHOLDER_KYC_REJECTED. You’ll be notified as soon as the check completes. See Webhook Signature Verification. The CARDHOLDER_KYC_APPROVED webhook payload:
Option B — Poll the cardholder
Keep polling until kycStatus is APPROVED (or REJECTED).
KYC approved response
You cannot issue a card until kycStatus is APPROVED. If KYC is REJECTED, check kycRejectionReason and contact support if the rejection is unexpected.

Step 4 — Issue a Card

With KYC approved, issue a virtual card to the cardholder.
Response (201 Created)
The CARD_ISSUED webhook fires immediately after issuance. The card starts with zero balance — proceed to Step 5 to fund it.

Step 5 — Fund the Card

Load $50 from the program ledger onto the card. This debits the program balance and credits the card.
Response (200 OK)
Done. Your cardholder now has an active virtual card with a $50 balance. When your cardholder makes a purchase, you will receive a TRANSACTION_PROCESSED webhook (status: COMPLETED) with the merchant details and the amount charged.

Next Steps

Set Up Webhooks

Subscribe to transaction events so your platform updates in real time — no polling needed.

Explore All Endpoints

Full API reference with request and response schemas for every endpoint.

Freeze and Unfreeze Cards

Temporarily block transactions — useful for suspicious activity or a lost card report.

Read Transactions

Query card transaction history with filters by card, cardholder, date, and status.