Skip to main content
Every OMP endpoint returns errors in the same JSON envelope, regardless of which provider raised them. This consistency means you can write a single error-handling path in your application and it will work across all backends.

Standard error envelope

Error fields

string
required
Machine-readable error identifier. Use this field to branch your error-handling logic. Values are enumerated in the table below.
string
required
Human-readable description of what went wrong. Suitable for logging, but do not parse it programmatically — use code instead.
string
required
Broad category of the error. One of auth, not_found, invalid, rate_limited, or provider_error.
string
The name of the backend that raised the error, if applicable (e.g., postgres, mem0). May be absent for client-side validation errors caught before the provider is reached.
string
Opaque identifier for this specific request. Include this value when reporting issues or correlating errors with server-side access logs.

Error code reference

Handling errors with curl

You can also inspect the full envelope:
When reporting a bug or opening a support issue, always include the request_id value. Server-side access logs are indexed by request_id, so it lets you (or your provider) locate the exact request in milliseconds.