Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /tools | List all tools for an agent |
GET | /tools/:id | Get a specific tool |
GET | /tools/limits | Get tool limits for current plan |
POST | /tools | Create a new tool |
PUT | /tools/:id | Update a tool |
DELETE | /tools/:id | Delete a tool |
List Tools
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | The agent ID to list tools for |
Response
Get Tool
Response
Returns the full tool object.Get Tool Limits
Response
| Field | Description |
|---|---|
current | Number of tools currently created |
limit | Maximum tools allowed (null = unlimited) |
planId | Your current plan |
canCreate | Whether you can create more tools |
Create Tool
Request Body
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
agentId | string | Yes | Agent to add the tool to |
name | string | Yes | Unique name (lowercase, underscores) |
description | string | Yes | What the tool does (shown to AI) |
executionType | string | Yes | mock, http, or form |
inputSchema | object | Yes | JSON Schema for tool parameters |
isEnabled | boolean | No | Whether tool is active (default: true) |
HTTP Tool Fields
| Field | Type | Description |
|---|---|---|
httpUrl | string | URL to call (supports {param} placeholders) |
httpMethod | string | GET, POST, PUT, or DELETE |
httpHeaders | object | Headers to include in request |
Form Tool Fields
| Field | Type | Description |
|---|---|---|
formSchema | object | Form field definitions |
formExecutionMode | string | webhook, client, or both |
formWebhookUrl | string | URL to send submissions |
formClientHandler | string | Client-side handler name |
formPostActions | array | Additional actions (Slack, email) |
Mock Tool Fields
| Field | Type | Description |
|---|---|---|
mockResponse | string | Static response to return |
Display Configuration
| Field | Type | Description |
|---|---|---|
displayConfig | object | How to render the tool result |
Response
Errors
| Status | Code | Description |
|---|---|---|
| 400 | - | Invalid request body or duplicate name |
| 403 | TOOL_LIMIT_REACHED | Plan tool limit exceeded |
| 404 | - | Agent not found |
Update Tool
Request Body
Only include fields you want to update:Response
Returns the updated tool object.Delete Tool
Response
Input Schema
TheinputSchema defines what parameters the tool accepts. It follows JSON Schema format:
Property Types
| Type | Description |
|---|---|
string | Text input |
number | Numeric value |
boolean | True/false |
array | List of values |
object | Nested object |
Enum Values
Restrict to specific values:Display Config
Control how tool results are rendered in the widget:Display Types
| Type | Description |
|---|---|
text | Plain text (default) |
product_card | Single product card |
product_carousel | Multiple products |
image | Image display |
table | Tabular data |
buttons | Action buttons |
form | Form display |
custom | Custom template |
Form Schema
For form tools, define fields withformSchema:
Field Types
| Type | Description |
|---|---|
text | Single-line text |
email | Email with validation |
tel | Phone number |
number | Numeric input |
textarea | Multi-line text |
select | Dropdown |
multiselect | Multi-select dropdown |
date | Date picker |
datetime | Date and time |
file | File upload |
image | Image upload |