Skip to main content
This page covers error responses from the REST API only. For known product issues and their resolutions, see Troubleshooting, and check status.bey.dev for ongoing incidents.
Every failed request returns the appropriate HTTP status code together with a JSON body describing what went wrong.

Status Codes

Handling Errors

  • Retry 429 and 503 responses with exponential backoff. Both are transient.
  • Do not retry other 4xx responses. They indicate a problem with the request itself, and retrying will fail the same way.
  • Treat 402 and 403 as requiring an account change rather than a retry. Surface them to whoever manages your billing or plan.
  • Retry 500 responses at most once or twice with backoff. If they persist, check status.bey.dev and contact support@beyondpresence.ai.

Debugging Authentication Errors

Authentication failures always return 401 with one of two messages:
  • "API key is required." when the x-api-key header is absent
  • "Invalid API key." when the key is present but not recognized
To check a key without side effects, call GET /v1/auth/verify. It returns 204 No Content for a valid key and 401 otherwise.

Deleting Resources That Are in Use

The API refuses to delete a resource that something else still depends on and returns an error instead:
  • Avatar: An agent uses the avatar, or a video that is still pending or processing uses it. Assign a different avatar to the agent, or delete the video first.
  • External API configuration: An agent uses the configuration as its LLM. Change the agent’s LLM first.
  • Knowledge file: An agent references the file. Detach the file from the agent first.
The detail message names the agent or video that still uses the resource.

Error Response Format

All errors carry a detail field. For most errors, detail is a single human-readable message:
Validation errors (422) are the exception: detail is a list of per-field objects describing each field that failed validation, where it was located, and why.
The API does not return machine-readable error codes. Branch your error handling on the HTTP status code, and treat the detail message as informational only, as its wording may change without notice.

Learn More

Quotas

Concurrency and usage limits for your plan

Troubleshooting

Known issues and their resolutions