Skip to main content

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.

Evalgate REST API overview

Everything you need to call the Evalgate REST API: base URL, authentication, response format, error envelope, versioning, and available endpoint groups.
The Evalgate REST API gives you programmatic access to evaluations, traces, LLM judges, human annotation tasks, and MCP tool execution. Every request goes to a single base URL and returns JSON with camelCase field names. If you prefer a typed client, the TypeScript SDK and Python SDK wrap this API and add retries, batching, and caching on top.

Base URL

All endpoints are served from:
https://evalgate.com

Authentication

Every request (except GET /api/mcp/tools) requires a bearer token in the Authorization header:
curl https://evalgate.com/api/evaluations \
  -H "Authorization: Bearer YOUR_API_KEY"
Get your API key from Developer Dashboard → Settings → API Keys. See API authentication for the full details, including scope errors and the organization ID environment variable.

Response format

All responses are JSON. Field names use camelCase throughout:
{
  "id": 42,
  "name": "Chatbot regression",
  "type": "unit_test",
  "status": "active",
  "organizationId": 1,
  "createdAt": "2026-03-15T10:30:00.000Z",
  "updatedAt": "2026-03-15T10:30:00.000Z"
}

Standard error envelope

All error responses use this shape, regardless of status code:
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Unauthorized",
    "details": null,
    "requestId": "550e8400-e29b-41d4-a716-446655440000"
  }
}
The requestId field is a UUID you can include in support tickets to help the team locate the exact request. It also appears in the x-request-id response header. See API error codes for the full list of codes, HTTP status mappings, and error-handling examples.

Versioning

The error envelope and all documented response shapes are stable. Breaking changes are versioned and announced before they take effect — you will not encounter silent field removals or type changes on existing endpoints.

Endpoint groups

GroupDescription
EvaluationsCreate evaluation definitions, manage test cases, and start runs
TracesIngest and query LLM traces and spans via the collector or direct CRUD
LLM JudgeConfigure judges, evaluate outputs, and measure judge alignment
AnnotationsCreate human labeling tasks and submit labels to build golden datasets
MCPDiscover and execute Evalgate tools from AI agents and IDE assistants

Rate limits

Limits are applied per organization on a sliding one-minute window:
TierLimit
Anonymous30 req/min
Free200 req/min
Pro1,000 req/min
Business10,000 req/min
EnterpriseCustom
MCP tools100 req/min
When rate limiting is active, responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. A 429 response uses the RATE_LIMITED error code.

SDK alternative

If you are working in TypeScript or Python, the SDKs handle auth, retries, and batching automatically: