Skip to main content
PUT
Update agent

Authorizations

X-API-Key
string
header
required

API key for authentication

Path Parameters

agent_uuid
string
required

The agent to update

Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

Body

application/json
name
string | null

New agent name. Omit to leave the name unchanged

config
object | null

Agent behavioral config. The keys depend on type.

type=agent, built inside Calibrate:

  • system_prompt: the agent's instructions
  • llm.model: provider/model, e.g. openai/gpt-4.1 or google/gemini-2.5-flash
  • stt.provider: deepgram, openai, cartesia, elevenlabs, google, sarvam, or smallest
  • tts.provider: cartesia, openai, google, elevenlabs, sarvam, or smallest
  • settings.agent_speaks_first, settings.max_assistant_turns
  • system_tools.end_call: let the agent end the call
  • data_extraction_fields: [{name, type, description, required}]

type=connection, your own HTTP endpoint:

  • agent_url: public HTTP(S) endpoint your agent is called at
  • agent_headers: headers sent on each request, e.g. auth
  • benchmark_provider: openrouter by default. Other values: openai, google, anthropic, meta-llama, mistralai, deepseek, x-ai, cohere, qwen, or ai21

Either type:

  • traces.scoring.enabled: whether the traces you send for this agent are scored by its linked evaluators. On unless you set it to false. Turning it back on needs at least one linked evaluator that can score traces

Every request Calibrate makes to your endpoint carries the header X-Calibrate-Eval: 1. Read it to tell a test run from a real user, for example to tag the trace you send back or to skip sending one.

Replaces the stored config. Omit to leave unchanged

For type=connection, changing agent_url or agent_headers resets the connection and benchmark verification flags

Response

Successful Response

uuid
string
required

ID of the agent

Required string length: 36
Example:

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

name
string
required

Name of the agent

type
enum<string>
required
  • agent: built inside Calibrate
  • connection: your existing agent connected to Calibrate
Available options:
agent,
connection
interaction_type
enum<string>
required

What the agent expects in the request body:

  • conversation: a normal back-and-forth agent, answers within an ongoing conversation. Receives {"messages": [...]}
  • general: a one-shot agent, takes a single plain input and produces a single plain output, no conversation. Receives {"input": "..."}
Available options:
conversation,
general
created_at
string
required

When the agent was created (ISO 8601 UTC)

updated_at
string
required

When the agent was last updated (ISO 8601 UTC)

config
object | null

Agent configuration