Authentication
The FYATU CaaS API v3.20 uses API key authentication — no tokens to exchange, no JWTs to decode. Every request must include a valid API key, and the key’s scopes determine what the request is allowed to do.How It Works
Getting Your API Key
1
Open the CaaS portal
Go to platform.fyatu.com and log in to your CaaS account.
2
Navigate to API Keys
Click Developer → API Keys in the left sidebar.
3
Create an API key
Click Create API Key. Name the key, choose its environment (
LIVE or SANDBOX), and select the scopes it needs.4
Copy the key immediately
The full key is shown once at creation time. Copy it to your secrets manager now — it cannot be retrieved later.
Sending the API Key
Pass your key in theAuthorization header as a Bearer token. This is the only supported method.
Authentication Failure Response
When authentication fails, the API returns an error using the standard response envelope:401 — Invalid API key
403 — Insufficient scope
Environment Isolation
Each API key is bound to a single environment. Keys issued forSANDBOX only work against sandbox data; LIVE keys only against live data. The environment is enforced server-side — you cannot mix data between environments and attempting to do so returns API_KEY_INVALID.
Scopes
API keys are scoped to specific resource permissions. A key without a scope cannot call endpoints that require it — it receives a403 INSUFFICIENT_SCOPE response. Assign only the scopes your integration actually needs.
Idempotency-Key Header
For write operations (POST), you can supply an Idempotency-Key header to safely retry requests without risking duplicate operations.
- If a request with the same
Idempotency-Keyis received within 24 hours, the API replays the original response without re-executing the operation. - Replayed responses include the header
Idempotency-Replayed: true. - Keys must be unique strings of up to 255 characters. A UUID or a deterministic hash of your operation parameters works well.
- After 24 hours, the key expires and a request with the same key is treated as a new operation.
Rate Limits
The CaaS API enforces a sliding-window rate limit of 1,000 requests per minute per API key. Every response includes rate-limit headers:
When you exceed the limit, the API returns
429 RATE_LIMITED. Implement exponential backoff:
IP Allowlisting
API keys can optionally restrict which IP addresses may use them. If you configure an IP allowlist in the portal and a request arrives from an unlisted IP, the API returns403 IP_NOT_ALLOWED.
This is strongly recommended for server-to-server LIVE integrations. Leave the allowlist empty during development or when your server IPs are dynamic.
Authentication Error Reference
Best Practices
Store keys in secrets managers
Store keys in secrets managers
Never hard-code API keys in source files. Use environment variables or a secrets manager (AWS Secrets Manager, HashiCorp Vault, Doppler, etc.). Rotate keys at least every 90 days.
Use separate keys per service
Use separate keys per service
Issue one key per microservice or integration, each with the minimal required scopes. This lets you revoke a single key without disrupting other services.
Configure IP allowlisting for LIVE
Configure IP allowlisting for LIVE
For production workloads, set an IP allowlist on your LIVE API keys. This adds a layer of defense even if a key is leaked — the attacker cannot use it from an unlisted IP.
Use Idempotency-Key on all write operations
Use Idempotency-Key on all write operations
Network failures happen. Always supply
Idempotency-Key on fund, issue, and create requests so a retry never double-charges your program balance.Monitor your rate limit headers
Monitor your rate limit headers
Log
X-RateLimit-Remaining on every response. If it consistently approaches zero, batch requests, cache reads, or contact support to request a higher rate limit.
