Skip to main content
POST
Create an agent

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

tenant
string
required

Tenant whose agents you are managing. Discover the tenants your credentials cover with listMyClaudiaProjects. A tenant your credentials do not cover is indistinguishable from one that does not exist.

Body

application/json

The agent to create.

deployment
enum<string>
required

Target deployment role: supervisor for an orchestrator agent, react for a specialist one. Any other value answers 400. There is no qna deployment to send: a knowledge-base Q&A agent is created as react with graphId set to qna_agent, and the platform derives its deployment_role: qna from that graph.

Available options:
supervisor,
react
name
string
required

Human-readable agent name.

config
object
required

The config.configurable object. Build it in the shape listAssistants/getAssistant return for an existing agent of the same deployment — read one first and follow it. Send it as a JSON OBJECT, never as a JSON-encoded string, and always carrying config.project — a create without it is rejected with 400.

graphId
string
required

LangGraph graph id. agent is the graph both the supervisor and react deployments host, for orchestrators and regular specialists — the deployment field selects the target. qna_agent, together with deployment: react, creates a knowledge-base Q&A agent: its config carries knowledge_base_ids — ids from listMyKnowledgeBases, copied verbatim — instead of tool whitelists, and the platform reports it back with deployment_role: qna. Routing caveat: the supervisor's judge never offers a qna_agent as a routing option — a Q&A agent listed in a supervisor's agents[] is reached only through the start-with-agentic bypass on the customer's first message, not by regular routing on later turns.

description
string

This assistant's own routing description. For a sub-agent it is what supervisors use to decide when to route to it, so make it rich and specific.

metadata
object

Optional passthrough metadata. On this public surface it is server-owned: whatever you send here is dropped entirely, including productionAssistantId — the created agent carries only the draft markers this endpoint stamps.

Response

The agent as created — a draft, in the same passthrough shape getAssistant returns. A free-form object: read the keys rather than assuming a shape.

Free-form object: the agent's stored configuration, in whatever shape the live config schema for its deployment accepts. Read the keys you need; do not assume a fixed set.