x-api-key HTTP header. Keys start with kova_sk_.
Kova uses
x-api-key, not Authorization: Bearer. The header name is case-insensitive — x-api-key and X-API-KEY both work. Sending Authorization: Bearer <key> returns 401; the header is ignored entirely.Getting a key
1
Sign in
Open platform.kova.ai and sign in (or sign up).
2
Open the API keys page
Navigate to Dashboard → API keys.
3
Create a key
Click Create key, name it (e.g. “production-backend”), and copy the key. You can only view the full key once — store it in your secret manager immediately.
Using the key
Security
- Never commit keys to source control. Use environment variables or a secret manager.
- Rotate keys if you suspect compromise. Old keys keep working until you delete them on the dashboard.
- Use one key per environment / service. Easier to identify what’s spending and to revoke selectively.
On WebSocket connections
The key goes on the handshake, not in a frame after connecting:x-api-key is rejected at the handshake with HTTP 403, before the connection is accepted — no frames are exchanged and no audio is generated. A well-formed kova_sk_ key that is revoked or unknown is accepted at the handshake and rejected on first use with {"error": "INVALID_API_KEY"} followed by close code 1008.
Browsers can’t set custom handshake headers, so browser clients should use Streaming HTTP or proxy through a backend.
Errors
All three carry an
x-request-id response header — log it.
See Errors for the complete reference.