Authentication

Every request carries your organization's API key as a Bearer token. Keys are shown once at mint time and stored hashed server-side.

Bearer token

Authorization: Bearer oo_live_<secret>

Keys must start with oo_live_. Invalid format returns 401 invalid_key.

Member attribution

For per-member soft limits and usage breakdowns, pass your internal user UUID:

X-Member-User-Id: <uuid>

This does not forward identity to upstream model providers.

Scopes

ScopeEndpoints
chatPOST api-v1-chat
imagesPOST api-v1-images
videoPOST api-v1-video, GET api-v1-video
audioPOST api-v1-audio
usageGET api-v1-models, GET api-v1-usage
filesGET/POST api-v1-files
appsGET/POST api-v1-apps
assetsGET/DELETE api-v1-assets
jobsGET api-v1-jobs
webhooksGET/POST api-v1-webhooks
billingGET/POST api-v1-billing

Keys minted in the dashboard include this set. jobs also accepts a key that only has video. billing also accepts a key that only has usage.

Model allowlists

Keys can optionally be pinned to specific model IDs at mint time.

Key hygiene

Markdown