Authentication
All API requests must be authenticated. Yativo supports two authentication methods:- Bearer tokens — obtained via the magic-link flow or the API keys endpoint. Include in every request as
Authorization: Bearer <token>. - Two-factor authentication (2FA) — optional TOTP-based 2FA for your account login. Enable it via the Authentication endpoints.
GET /auth/refresh-token to get a new one without re-authenticating.
API key hygiene
- One key per service — create a separate key for each backend service or environment so you can rotate or revoke a single key without affecting others.
- Minimal permissions — scope each key to only the permissions it needs (e.g.
transactions:readfor a reporting service, not full access). - Never expose keys client-side — API keys belong on your server. Do not embed them in mobile apps, browser JavaScript, or public repositories.
- Rotate regularly — revoke and reissue keys on a schedule or immediately after any suspected exposure.
- Store in secrets managers — use environment variables or a dedicated secrets manager (AWS Secrets Manager, HashiCorp Vault, etc.), not plaintext config files.
Webhook signature verification
Always verify theX-Yativo-Signature header on incoming webhook requests. This prevents replay attacks and spoofed events.
Node.js
crypto.timingSafeEqual (not ===) to prevent timing attacks.
HTTPS only
The Yativo API only accepts HTTPS connections. Webhook delivery also targets HTTPS endpoints only — HTTP URLs will be rejected on webhook creation.IP allowlisting
For production environments, restrict outbound API calls to Yativo’s IP ranges and consider allowlisting inbound webhook IPs on your firewall. Contact support for the current list of Yativo webhook egress IPs.Idempotency
For mutating requests (payouts, deposits, transfers), use theIdempotency-Key header to safely retry without risk of duplicate transactions:
Rate limits
The API enforces rate limits per API key:| Tier | Requests per minute |
|---|---|
| Default | 120 |
| Elevated | 600 (on request) |
429 Too Many Requests with a Retry-After header indicating when to retry.
Sensitive data handling
- Card details (PAN, CVV, PIN) are never returned in plain API responses — use the Secure Card Display hosted iframe for that.
- Yativo is PCI-DSS compliant. Do not log or store raw card data in your systems.
- Customer PII (names, emails, phone numbers) should be treated as sensitive. Limit access in your systems to only those who need it.
Error responses
Security-related errors you may encounter:| HTTP status | Meaning |
|---|---|
401 Unauthorized | Missing or invalid Bearer token / API key |
403 Forbidden | Valid credentials but insufficient permissions |
429 Too Many Requests | Rate limit exceeded |
code field:

