Authorization header. Which credential you use depends on the endpoint — this page explains the two schemes, when each applies, and how to manage your keys over time.
Authentication schemes
| Scheme | Used by | Header |
|---|---|---|
API key (sk_live_*) | All generation, run, and file endpoints | Authorization: Bearer sk_live_... |
| Firebase ID token | /signup and key-management endpoints | Authorization: Bearer <firebase_token> |
sk_live_* machine credential.
Key format
API keys have the formatsk_live_<28 alphanumeric chars> and bill against your org. The raw secret is returned exactly once at creation time and cannot be retrieved later. If you lose a key, revoke it and mint a new one.
Signing up
Go from zero to a usable API key in one POST request.Get a Firebase ID token
Sign in via the Overten dashboard or exchange your credentials with the Firebase web SDK. See Get an API key in the Quickstart for both flows.
Call POST /signup
Pass the Firebase token in the The response contains
Authorization header along with your org details:org_id, secret (your sk_live_* key), and webhook_secret. Store the secret somewhere safe — it is shown only once.If you already belong to a workspace in the Overten web app, pass
existing_org_id instead of org_name. The signup will enable API access on that org rather than creating a second one.Creating additional keys
Create a separate key for each service or deployment environment to limit the impact of a potential leak:/signup — the secret field is present exactly once.
Listing keys
Retrieve all keys for your org. Only theprefix is returned; the raw secret is never re-exposed, even to the key’s creator.
Revoking keys
Revocation takes effect immediately. Any subsequent request using that key returns401 invalid_api_key.
204 No Content.
Rotating keys
Keys have no expiry — they stay valid until you revoke them. To rotate a key without downtime:- Mint a new key via
POST /organizations/{org_id}/api-keys. - Deploy the new key to your services.
- Once all traffic is using the new key, revoke the old one.
Security hygiene
Never commit live keys to source control
Never commit live keys to source control
Treat
sk_live_* keys like database passwords. Use a secret manager — AWS Secrets Manager, Doppler, 1Password, Vault, and similar tools all work — rather than hardcoding secrets in environment files that get committed.Report leaks immediately
Report leaks immediately
If you believe a key has leaked, revoke it immediately via the dashboard or the
DELETE endpoint, then email support@overten.ai. We can audit the affected key’s usage history for anomalies.Use separate keys per environment
Use separate keys per environment
One key per environment (production, staging, CI) limits the blast radius of a leak and lets you rotate each environment independently.
Scope is per-org, not per-key
Scope is per-org, not per-key
Any key belonging to an org has the same permissions on that org — we don’t currently support scoped keys that are limited to specific formats or endpoints. If you need per-key scoping, email us with your use case.
Verifying a key works
Before shipping, confirm the key is valid and wired up correctly with a lightweight call toGET /verify:
Continue to Runs and tasks to understand how we model work, or jump straight to Format guides for end-to-end generation examples.

