Quick start
agent_url— The URL where your agent receives messagesagent_headers— (optional) Authentication credentials for your APIagent_type— (optional) What your agent expects in the request body:conversation(default) orgeneral
Chat endpoint (required)
The primary URL where Calibrate sends conversation messages during a test or a simulation. Set it asagent_url.
Format: Full HTTP(S) URL
- HTTP or HTTPS (use
http://localhost:...for a local agent) - Reachable from where you run the CLI
- Must return a JSON response
Authorization header
Authentication credentials sent with every request. Add them underagent_headers. It is optional, add it only if your agent requires authentication.
Common formats:
Bearer token
Protocol
You must provide an HTTP, JSON-based endpoint. For both LLM tests and simulations, Calibrate sends aPOST request to your chat endpoint with a list of messages. Your endpoint should reply in the expected response format given below.
Request format
Aconversation agent, the default, receives the full conversation history so far (including the latest simulated user input for simulations):
general agent takes one instruction per call, so it receives only the latest user text:
agent_type in your config, or --agent-type general when verifying a connection from the CLI. Simulations always send the conversation, so a general agent suits per-turn tests rather than simulations.
To benchmark across models, Calibrate adds a
model field to each request
({ "messages": [...], "model": "..." }). Your agent must read it and route
to the right model — the easiest way is a framework like OpenRouter. For a
Calibrate agent, the model is selected directly.Expected response format
Your agent must return a JSON response with at least one ofresponse or tool_calls.
For simply returning a text reply:
Tool calls
For evaluating tool calls, return a list oftool_calls. Each item indicates the tool name, the arguments passed to the tool, and the tool’s output: