Skip to main content
This section provides detailed documentation for every V3 endpoint, including request/response schemas, parameters, and examples.

Base URL

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

Authentication

V3 uses JWT Bearer tokens. First obtain a token, then include it in all requests:
# Step 1: Get token
curl -X POST https://api.fyatu.com/api/v3/auth/token \
  -H "Content-Type: application/json" \
  -d '{"appId": "YOUR_APP_ID", "secretKey": "YOUR_SECRET", "grantType": "client_credentials"}'

# Step 2: Use token
curl -X GET https://api.fyatu.com/api/v3/collections \
  -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

All V3 responses follow this structure:
{
  "success": true,
  "status": 200,
  "message": "Operation completed successfully",
  "data": { ... },
  "meta": {
    "requestId": "req_xxxxxxxxxxxx",
    "timestamp": "2026-01-05T10:30:00+00:00"
  }
}

Available Endpoints

Authentication

Obtain and manage JWT access tokens.
MethodEndpointDescription
POST/auth/tokenGenerate access token
POST/auth/refreshRefresh existing token
POST/auth/revokeRevoke a token

Account

Manage your business account, wallet, and fees.
MethodEndpointDescription
GET/account/pricingGet applicable fees
GET/account/walletGet wallet balances
GET/account/transactionsList account transactions
GET/account/withdrawalsGet withdrawal history
POST/account/deposit-addressGenerate deposit address
POST/account/withdrawal-addressRegister withdrawal address

Collections

Accept payments from customers.
MethodEndpointDescription
POST/collectionsCreate checkout session
GET/collectionsList collections
GET/collections/{id}Get collection details
POST/collections/{id}/refundIssue a refund

Refunds

Manage refunds for collections.
MethodEndpointDescription
GET/refundsList refunds

Payouts

Send money to Fyatu account holders.
MethodEndpointDescription
GET/accounts/{clientId}Verify recipient account
POST/payoutsCreate payout
GET/payoutsList payouts
GET/payouts/{id}Get payout details

eSIM

Issue and manage travel eSIMs.
MethodEndpointDescription
GET/esim/destinationsList destinations
GET/esim/destinations/{slug}Get destination with packages
GET/esim/packagesList packages for a destination
GET/esim/packages/{id}Get package details
POST/esim/purchasePurchase an eSIM
GET/esim/listList purchased eSIMs
GET/esim/{id}Get eSIM details
POST/esim/{id}/refreshRefresh eSIM usage
GET/esim/{id}/topupsGet top-up packages
POST/esim/{id}/topupTop-up existing eSIM

Error Codes

CodeHTTPDescription
AUTH_TOKEN_MISSING401No token provided
AUTH_TOKEN_INVALID401Token is malformed or expired
AUTH_TOKEN_EXPIRED401Token has expired
AUTH_INVALID_CREDENTIALS401Invalid appId or secretKey
AUTH_APP_INACTIVE401App is not active
AUTH_SCOPE_DENIED403Token lacks required scope
VALIDATION_ERROR400Request validation failed
RESOURCE_NOT_FOUND404Resource not found
INSUFFICIENT_BALANCE402Wallet balance too low
DUPLICATE_REFERENCE409Reference already used
RATE_LIMIT_EXCEEDED429Too many requests
INTERNAL_ERROR500Server error

Rate Limits

Endpoint CategoryRate Limit
Authentication10 req/min
Read operations100 req/min
Write operations30 req/min
Exceeding rate limits returns 429 Too Many Requests. Implement exponential backoff in retry logic.