A tool is a function the agent can invoke during a call. It has a name, a JSON-Schema describing its arguments, and an implementation — either Python source we execute in the Call Processor’s tool sandbox, or an HTTP endpoint we call.Documentation Index
Fetch the complete documentation index at: https://katavenai.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Anatomy
Built-in vs custom
- Built-in tools (
is_default = true) ship with the platform and can’t be deleted. Updating one flipsmodified_from_default = trueso the dashboard can show that the tool diverges from the default. - Custom tools (
is_default = false) are yours; you can create, update, and delete them freely.
Implementation types
implementation_type | What runs |
|---|---|
python | The implementation_code body, executed in the Call Processor’s sandboxed Python environment. |
http | An external HTTP endpoint described in implementation_config (URL, method, auth). The Call Processor calls it with the tool args as JSON. |
Operations
| Operation | Endpoint |
|---|---|
| List (paginated, filterable by category/type/search) | GET /api/tools |
| Get | GET /api/tools/{id} (UUID or name) |
| Create | POST /api/tools |
| Update | PUT /api/tools/{id} |
Delete (custom only — built-ins return 403) | DELETE /api/tools/{id} |
Enabling a tool on an agent
Defining a tool doesn’t expose it to any agent. Each agent picks the subset it can call:POST /api/agents/{id}/tools with {tool_name, config, enabled}.