Endpoints at a glance
Reference
GET /api/v1/agents
List agents
Returns every agent in the caller’s account, with attached playbooks and FAQs joined in. Ordered by created_at descending. There is no pagination today — every account has at most a few dozen agents in practice; if that changes we’ll add limit/offset like /api/tools and /api/playbooks.
Responses
Example
POST /api/v1/agents
Create an agent
Persists a new agent in the caller’s account. Required body fields: name. Most other fields default sensibly: category=custom, status=draft, llm_model=gpt-4o, voice_provider=cartesia, auth_mode=authenticated, greeting_mode=interruptible. Returns the inserted row, including server-set id, created_at, and updated_at. Attach playbooks and FAQs separately via POST /api/agents/{id}/playbooks and POST /api/agents/{id}/faqs.
Request body (application/json)
Schema: data.Agent. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
Responses
Example
GET /api/v1/agents/{id}
Get an agent
Returns the agent row plus its attached playbooks and FAQs.
Parameters
Responses
Example
PATCH /api/v1/agents/{id}
Update an agent
Parameters
Request body (
application/json)
Schema: data.Agent. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
Responses
Example
DELETE /api/v1/agents/{id}
Delete an agent
Parameters
Responses
Example
POST /api/v1/agents/{id}/faqs
Attach an FAQ to an agent
Parameters
Request body (
application/json)
Schema: handlers.AttachFAQRequest. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
Responses
Example
DELETE /api/v1/agents/{id}/faqs/{faqId}
Detach an FAQ from an agent
Parameters
Responses
Example
POST /api/v1/agents/{id}/playbooks
Attach a playbook to an agent
Parameters
Request body (
application/json)
Schema: handlers.AttachPlaybookRequest. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
Responses
Example
DELETE /api/v1/agents/{id}/playbooks/{playbookId}
Detach a playbook from an agent
Parameters
Responses
Example
GET /api/v1/agents/{id}/tools
List tools attached to an agent
Parameters
Responses
Example
POST /api/v1/agents/{id}/tools
Attach or update a tool on an agent
Idempotent insert-or-update of one (agent_id, tool_name) row. Both POST and PUT are accepted.
Parameters
Request body (
application/json)
Schema: data.AgentTool. Server-set fields (id, created_at, updated_at, …) are ignored if supplied; only the user-settable fields are shown below.
Responses
Example

