Authentication and API keys
Every /v1/* request needs a bearer key:
Authorization: Bearer vana_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
| Prefix | Use |
|---|---|
vana_live_ |
production traffic, paid from your prepaid balance |
vana_test_ |
development / CI; same model and limits, also paid from your balance (tracked per key) |
- Keys are random 40-character strings after the prefix. Vana stores only a SHA-256 hash; the full key is shown once when created and cannot be recovered — create a new one if lost.
- Keys belong to your organisation (customer). Rate limits apply per key (requests/minute); usage is paid from the
organisation's prepaid balance (see pricing);
GET /v1/balanceshows it. - Rotate a key from the dashboard: a new key is issued and the old one is revoked immediately. Revoked keys
get
401 authentication_error(within ~10 seconds across all servers). - Never ship keys in browser or mobile code; call Vana from your backend (or an edge function).
GET /healthneeds no key.
A $0 balance returns 402 insufficient_balance; a suspended or canceled account returns 403 subscription_inactive. See errors.