Skip to main content
POST

Authorizations

X-API-Key
string
header
required

API key for authentication

Body

application/json
name
string
required

Agent name, unique within the workspace

type
enum<string>
default:agent
  • agent: built inside Calibrate
  • connection: your existing agent connected to Calibrate
Available options:
agent,
connection
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

For type=agent, omitted keys inherit managed defaults. Omit config entirely to use all defaults. For type=connection, config is stored as-is and must contain agent_url

Response

Successful Response

uuid
string
required

ID of the newly created agent

Required string length: 36
Example:

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

message
string
required

Confirmation message