Documentation Index
Fetch the complete documentation index at: https://evalgate.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
API error codes and HTTP status mapping
Every Evalgate error code, its HTTP status, what it means, and how to handle errors in TypeScript and Python with try/catch examples.When a request fails, Evalgate always returns a JSON object in the same envelope shape — regardless of the HTTP status code. Parsing this envelope lets you handle every error class in a single place.
Error envelope
Every error response has this structure:A machine-readable constant identifying the error class. Use this field for programmatic error handling — never parse
message.A human-readable description of what went wrong. Suitable for logs and development debugging; do not display this to end users without filtering.
Optional additional context. For
VALIDATION_ERROR, this contains a Zod issues array describing which fields failed and why. null for all other codes.A UUID that uniquely identifies the request on Evalgate’s servers. Include this value in any support ticket — the team can use it to locate the exact request in logs. The same UUID appears in the
x-request-id response header.Error codes and HTTP status mapping
| Code | HTTP status | When it occurs |
|---|---|---|
UNAUTHORIZED | 401 | Missing or invalid API key |
FORBIDDEN | 403 | Key lacks required scope for this resource |
NO_ORG_MEMBERSHIP | 403 | Authenticated user is not a member of the target organization |
QUOTA_EXCEEDED | 403 | Organization has reached a usage limit (upgrade required) |
NOT_FOUND | 404 | Resource does not exist, or the ID belongs to a different organization |
VALIDATION_ERROR | 400 | Request body or query parameters failed schema validation |
CONFLICT | 409 | A resource with the same identifier already exists |
RATE_LIMITED | 429 | Too many requests — back off and retry after the X-RateLimit-Reset time |
INTERNAL_ERROR | 500 | Unexpected server error — include the requestId when contacting support |
SERVICE_UNAVAILABLE | 503 | Evalgate is temporarily unavailable — retry with exponential backoff |
QUOTA_EXCEEDED and NO_ORG_MEMBERSHIP both map to HTTP 403. Distinguish them by the code field, not the status code.