Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fyatu.com/llms.txt

Use this file to discover all available pages before exploring further.

Quick Start Guide

This guide walks you through your first V3.20 API call. By the end you’ll have:
  1. Authenticated with your API credentials
  2. Listed your card programs and products
  3. Created a cardholder
  4. Issued a virtual card using a product ID

Prerequisites

1

Create Account

2

Verify Your Identity (KYC)

Submit identity documents to verify your account
3

Upgrade to Business

Upgrade your account to Business from the dashboard
4

Set Up a Card Program

Create a Card Program in your Business Dashboard. Add at least one Card Product with your desired settings (brand, currency, limits, 3DS).
5

Fund Your Wallet

Deposit USDT to your business wallet (minimum $10 to get started)

Step 1: Get Your API Credentials

Log into your Business Dashboard, then go to Developer → API Credentials.
CredentialDescriptionExample
Business IDYour business’s unique identifierN1S0W3Q8P0V1E5M6Q4R3D8Z9
Secret KeyYour business API secret (shown once)sk_biz_a1b2c3d4e5f6...
Your secretKey is shown only once when generated. Store it securely. If lost, generate a new one — the old key is immediately revoked.

Step 2: Get an Access Token

Exchange your API credentials for a JWT token. Request the scopes your integration needs.
curl -X POST "https://api.fyatu.com/api/v3.20/auth/token" \
  -H "Content-Type: application/json" \
  -d '{
    "businessId": "N1S0W3Q8P0V1E5M6Q4R3D8Z9",
    "secretKey": "sk_biz_your_secret_key",
    "grantType": "client_credentials",
    "scopes": ["cards:read", "cards:write", "cardholders:read", "cardholders:write", "programs:read"]
  }'
Response (200)
{
  "success": true,
  "status": 200,
  "data": {
    "accessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
    "tokenType": "Bearer",
    "expiresIn": 86400,
    "expiresAt": "2026-05-01T10:30:00+00:00",
    "scopes": ["cards:read", "cards:write", "cardholders:read", "cardholders:write", "programs:read"]
  }
}
Your token is valid for 24 hours. Use it in Authorization: Bearer {token} headers.

Step 3: Browse Your Card Programs & Products

Discover which programs and products are available to your business:
curl -X GET "https://api.fyatu.com/api/v3.20/programs" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response (200)
{
  "success": true,
  "data": {
    "programs": [
      {
        "programId": "PGM1A2B3C4D5E6",
        "name": "Global Issuing Program",
        "status": "ACTIVE",
        "productCount": 2
      }
    ]
  }
}
Get the products for your program:
curl -X GET "https://api.fyatu.com/api/v3.20/programs/PGM1A2B3C4D5E6/products" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response (200)
{
  "success": true,
  "data": {
    "products": [
      {
        "productId": "PRDX1Y2Z3A4B5C",
        "name": "Visa USD Standard",
        "scheme": "VISA",
        "currency": "USD",
        "type": "VIRTUAL",
        "is3DSEnabled": true,
        "isTokenizationEnabled": true,
        "status": "ACTIVE"
      },
      {
        "productId": "PRDM9N8O7P6Q5R",
        "name": "Mastercard EUR Premium",
        "scheme": "MASTERCARD",
        "currency": "EUR",
        "type": "VIRTUAL",
        "is3DSEnabled": true,
        "isTokenizationEnabled": true,
        "status": "ACTIVE"
      }
    ]
  }
}
Note the productId values — you’ll need them for card issuance.

Step 4: Create a Cardholder

Cardholders are your end users who will hold cards. KYC is not required to create a cardholder, but is required before issuing a card.
curl -X POST "https://api.fyatu.com/api/v3.20/cardholders" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "externalId": "USR-12345",
    "firstName": "John",
    "lastName": "Smith",
    "email": "johnsmith@example.com",
    "phone": "+12025551234",
    "dateOfBirth": "1990-05-15",
    "gender": "MALE",
    "address": "123 Main Street, Apt 4B",
    "city": "Newark",
    "state": "Delaware",
    "country": "US",
    "zipCode": "000000"
  }'
Response (201)
{
  "success": true,
  "status": 201,
  "message": "Cardholder created successfully",
  "data": {
    "id": "CH-ABC123DEF456",
    "externalId": "USR-12345",
    "firstName": "John",
    "lastName": "Smith",
    "status": "ACTIVE",
    "kycStatus": "UNSUBMITTED",
    "createdAt": "2026-04-30T10:30:00+00:00"
  }
}

Step 5: Issue a Virtual Card

Use the productId from Step 3 to issue a card. All settings (scheme, currency, limits, 3DS) are resolved from the product automatically.
curl -X POST "https://api.fyatu.com/api/v3.20/cards" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cardholderId": "CH-ABC123DEF456",
    "nameOnCard": "JOHN SMITH",
    "amount": 100.00,
    "productId": "PRDX1Y2Z3A4B5C"
  }'
Response (201)
{
  "success": true,
  "status": 201,
  "message": "Card created successfully",
  "data": {
    "id": "crd_9x8y7z6w5v4u3t2s",
    "cardholderId": "CH-ABC123DEF456",
    "productId": "PRDX1Y2Z3A4B5C",
    "programId": "PGM1A2B3C4D5E6",
    "nameOnCard": "JOHN SMITH",
    "last4": "4829",
    "maskedNumber": "****4829",
    "expiryDate": "04/2031",
    "scheme": "VISA",
    "currency": "USD",
    "status": "ACTIVE",
    "initialBalance": 100.00,
    "createdAt": "2026-04-30T10:35:00+00:00"
  }
}
Card details (full number, CVV) are returned only on the GET /cards/{cardId} endpoint. Handle them securely and never log or expose them.

What’s Next?

Authentication Deep Dive

Scopes, token refresh, and best practices

Card Programs

Browse your card programs and products

Error Handling

Handle API errors gracefully

Webhooks

Receive real-time card and cardholder events