Or jump from this list on a smaller screen.

This is a page from the Audivra documentation. Developer exportsindex: http://127.0.0.1:3000/docs/llms.txt, full corpus: http://127.0.0.1:3000/docs/llms-full.txt, OpenAPI: http://127.0.0.1:3000/docs/openapi.json, Postman: http://127.0.0.1:3000/docs/postman.json. Press ⌘K to search docs.

Errors

HTTP status codes, JSON error bodies, and recovery steps for the Audivra API — 401 auth, 402 quotas, 429 rate limits, 502 inference failures.

Quick reference

Audivra returns JSON { error } or { detail } bodies. Integrators hitting metered mobile networks should handle 402 and 429 with backoff — see limits & quotas.

401

Unauthorized

Missing, malformed, or revoked API key / session.

Mint a new key at /app/keys. Use Authorization: Bearer sk_live_…
402

Payment required

Insufficient monthly credits, routing credits, or prepaid wallet for overages.

Upgrade at /app/billing, enable overages on Creator/Developer, or top up prepaid wallet. Check limits on the limits reference page.
429

Too many requests

Per-API-key rate limit exceeded.

Backoff and retry after Retry-After. Use POST /api/v1/generate/batch on paid plans instead of bursting single generates.
502

Bad gateway

Upstream inference, local worker, or API gateway unavailable.

Retry with forceCloud on generate, or route to gpu_cluster. Self-host: verify npm run inference.

All HTTP status codes

StatusNameWhen
400Bad requestEmpty text, invalid plan at checkout, missing voice_id where required.
401UnauthorizedNo Authorization header, wrong sk_live_ prefix, revoked key, or expired session.
402Payment requiredCharacter/video quota exhausted on hard-cap plans; routing wallet empty on POST /api/v1/generate; voice clone blocked on free tier.
403ForbiddenInternal worker routes without x-worker-secret; admin-only surfaces; batch generate on Free Trial.
404Not foundUnknown job_id, avatar_id, or clone UUID.
409ConflictVoice clone still training; avatar video not completed yet.
429Too many requestsMore requests than the plan bucket allows in a rolling 60-second window. Paid generate/avatar/dub/batch use 100 req/min; other routes and Free Trial use 60.
502Bad gatewayINFERENCE_URL down, local worker unhealthy, Modal/RunPod webhook failed.
503Service unavailableStripe webhooks called without STRIPE_WEBHOOK_SECRET; optional services disabled; dashboard signup on a serverless host without Supabase.

400 Bad request

Empty text, invalid plan at checkout, missing voice_id where required.

Example response
{ "error": "text is required" }

Recovery: Fix the request body and retry. Validate against OpenAPI examples.

401 Unauthorized

No Authorization header, wrong sk_live_ prefix, revoked key, or expired session.

Example response
{ "error": "Unauthorized: Missing or invalid API key" }

Recovery: Mint a new key at /app/keys. Use Authorization: Bearer sk_live_…

402 Payment required

Character/video quota exhausted on hard-cap plans; routing wallet empty on POST /api/v1/generate; voice clone blocked on free tier.

Example response
{ "error": "Credit quota exceeded (12000/12000). Top up PAYG wallet at /app/billing." }

Recovery: Upgrade at /app/billing, enable overages on Creator/Developer, or top up prepaid wallet. Check limits on the limits reference page.

403 Forbidden

Internal worker routes without x-worker-secret; admin-only surfaces; batch generate on Free Trial.

Example response
{ "error": "Forbidden" }

Recovery: Use a user API key for public routes. Worker routes require WORKER_SECRET header.

404 Not found

Unknown job_id, avatar_id, or clone UUID.

Example response
{ "error": "Job not found" }

Recovery: Poll the job_id returned by POST /api/v1/generate. List voices via GET /api/v1/voices.

409 Conflict

Voice clone still training; avatar video not completed yet.

Example response
{ "error": "Voice clone still training" }

Recovery: Poll GET /api/voices/clone until status is ready. Poll GET /api/v1/jobs/{id} for video.

429 Too many requests

More requests than the plan bucket allows in a rolling 60-second window. Paid generate/avatar/dub/batch use 100 req/min; other routes and Free Trial use 60.

Example response
{ "error": "Rate limit exceeded (60 requests/minute). Retry shortly." }

Recovery: Backoff and retry after Retry-After. Use POST /api/v1/generate/batch on paid plans instead of bursting single generates.

502 Bad gateway

INFERENCE_URL down, local worker unhealthy, Modal/RunPod webhook failed.

Example response
{ "error": "Local worker failed" }

Recovery: Retry with forceCloud on generate, or route to gpu_cluster. Self-host: verify npm run inference.

503 Service unavailable

Stripe webhooks called without STRIPE_WEBHOOK_SECRET; optional services disabled; dashboard signup on a serverless host without Supabase.

Example response
{ "error": "Local JSON store is not available on this host. Set NEXT_PUBLIC_SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY." }

Recovery: Set NEXT_PUBLIC_SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY. Production refuses unpaid demo checkout; configure a live provider.

Auth details: Authentication · OpenAPI error schemas: OpenAPI reference