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.

API Reference — V3.20

This section documents every V3.20 endpoint with request/response schemas, parameters, and examples.

Base URL

https://api.fyatu.com/api/v3.20

Authentication

V3.20 uses JWT Bearer tokens. First obtain a token with your businessId + secretKey, then include it in all requests:
# Step 1: Get token
curl -X POST https://api.fyatu.com/api/v3.20/auth/token \
  -H "Content-Type: application/json" \
  -d '{"businessId": "YOUR_BUSINESS_ID", "secretKey": "sk_biz_...", "grantType": "client_credentials", "scopes": ["cards:read", "cards:write"]}'

# Step 2: Use token
curl -X GET https://api.fyatu.com/api/v3.20/cardholders \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Request Format

  • All requests use JSON body format
  • Set Content-Type: application/json for POST/PUT/PATCH requests
  • All timestamps are in ISO 8601 format

Response Format

{
  "success": true,
  "status": 200,
  "message": "Operation completed successfully",
  "data": { },
  "meta": {
    "requestId": "req_xxxxxxxxxxxx",
    "timestamp": "2026-04-30T10:30:00+00:00"
  }
}

Available Endpoints

Authentication

MethodEndpointScopeDescription
POST/auth/tokenNoneGenerate access token
POST/auth/refreshNoneRefresh existing token
POST/auth/revokeNoneRevoke a token

Account

MethodEndpointScopeDescription
GET/account/pricingaccount:readGet applicable fees
GET/account/walletaccount:readGet wallet balances
GET/account/transactionsaccount:readList account transactions
GET/account/transactions/{id}account:readGet a specific transaction
GET/account/statementaccount:readDownload account statement

Programs

MethodEndpointScopeDescription
GET/programsprograms:readList your card programs
GET/programs/{programId}programs:readGet a card program
GET/programs/{programId}/productsprograms:readList products in a program

Cardholders

MethodEndpointScopeDescription
GET/cardholderscardholders:readList cardholders
POST/cardholderscardholders:writeCreate a cardholder
GET/cardholders/{id}cardholders:readGet cardholder details
PATCH/cardholders/{id}cardholders:writeUpdate a cardholder
DELETE/cardholders/{id}cardholders:writeDelete a cardholder
POST/cardholders/{id}/kyc/sessioncardholders:writeInitiate KYC session

Cards

MethodEndpointScopeDescription
GET/cardscards:readList cards
POST/cardscards:writeIssue a new card
GET/cards/{id}cards:readGet card details (including full number + CVV)
DELETE/cards/{id}cards:writeTerminate a card
GET/cards/{id}/transactionscards:readList card transactions
POST/cards/{id}/fundcards:writeFund a card
POST/cards/{id}/unloadcards:writeUnload balance from a card
POST/cards/{id}/freezecards:writeFreeze a card
POST/cards/{id}/unfreezecards:writeUnfreeze a card
POST/cards/{id}/replacecards:writeReplace a card

Webhooks

MethodEndpointScopeDescription
GET/webhookswebhooks:readGet webhook configuration
PUT/webhookswebhooks:writeUpdate webhook URL
POST/webhooks/secret/regeneratewebhooks:writeRegenerate webhook signing secret
GET/webhooks/eventswebhooks:readList webhook event types
POST/webhooks/testwebhooks:writeSend a test webhook

Error Codes

CodeHTTPDescription
AUTH_TOKEN_MISSING401No token provided
AUTH_TOKEN_INVALID401Token malformed or expired
AUTH_INVALID_CREDENTIALS401Invalid businessId or secretKey
AUTH_BUSINESS_INACTIVE401Business account inactive
AUTH_VERSION_MISMATCH401Wrong token version (V3 token on V3.20 endpoint)
AUTH_SCOPE_DENIED403Token lacks required scope
VALIDATION_ERROR400Request validation failed
RESOURCE_NOT_FOUND404Resource not found
INSUFFICIENT_BALANCE402Wallet balance too low
PRODUCT_NOT_FOUND404productId not found in your program
CARDHOLDER_INACTIVE422Cardholder not active or KYC not verified
RATE_LIMIT_EXCEEDED429Too many requests
INTERNAL_ERROR500Server error

Rate Limits

Endpoint CategoryRate Limit
Authentication10 req/min
Read operations120 req/min
Write operations60 req/min