Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kataven.ai/llms.txt

Use this file to discover all available pages before exploring further.

AgentsResource is reachable on every Kataven Node client as client.agents. Each method maps to one HTTP endpoint on the Hub API; links to the underlying spec entry are inline below. Manage AI voice/chat agents from Node. Every method on client.agents maps to one HTTP endpoint on the Hub API.

Methods at a glance

MethodHTTPSummary
listGET /api/agentsList agents
getGET /api/agents/{id}Get an agent
createPOST /api/agentsCreate an agent
updatePATCH /api/agents/{id}Update an agent
deleteDELETE /api/agents/{id}Delete an agent
listToolsGET /api/agents/{agentId}/toolsList tools attached to an agent
upsertToolPOST /api/agents/{agentId}/toolsAttach or update a tool on an agent
attachPlaybookPOST /api/agents/{agentId}/playbooksAttach a playbook to an agent
detachPlaybookDELETE /api/agents/{agentId}/playbooks/{playbookId}Detach a playbook from an agent
attachFaqPOST /api/agents/{agentId}/faqsAttach an FAQ to an agent
detachFaqDELETE /api/agents/{agentId}/faqs/{faqId}Detach an FAQ from an agent

Reference

client.agents.list(...)

List agents HTTPGET /api/agents · API reference →
list()
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.

client.agents.get(...)

Get an agent HTTPGET /api/agents/{id} · API reference →
get(id: string)
Returns the agent row plus its attached playbooks and FAQs.

client.agents.create(...)

Create an agent HTTPPOST /api/agents · API reference →
create(input: AgentCreate)
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.

client.agents.update(...)

Update an agent HTTPPATCH /api/agents/{id} · API reference →
update(id: string, patch: Partial<AgentCreate>)

client.agents.delete(...)

Delete an agent HTTPDELETE /api/agents/{id} · API reference →
delete(id: string)

client.agents.listTools(...)

List tools attached to an agent HTTPGET /api/agents/{id}/tools · API reference →
listTools(agentId: string)

client.agents.upsertTool(...)

Attach or update a tool on an agent HTTPPOST /api/agents/{id}/tools · API reference →
upsertTool(agentId: string, toolName: string, config: Record<string, unknown> = {}, enabled = true)
Idempotent insert-or-update of one (agent_id, tool_name) row. Both POST and PUT are accepted.

client.agents.attachPlaybook(...)

Attach a playbook to an agent HTTPPOST /api/agents/{id}/playbooks · API reference →
attachPlaybook(agentId: string, playbookId: string)

client.agents.detachPlaybook(...)

Detach a playbook from an agent HTTPDELETE /api/agents/{id}/playbooks/{playbookId} · API reference →
detachPlaybook(agentId: string, playbookId: string)

client.agents.attachFaq(...)

Attach an FAQ to an agent HTTPPOST /api/agents/{id}/faqs · API reference →
attachFaq(agentId: string, faqId: string)

client.agents.detachFaq(...)

Detach an FAQ from an agent HTTPDELETE /api/agents/{id}/faqs/{faqId} · API reference →
detachFaq(agentId: string, faqId: string)