tools.create
Create a tool.
Reference
POST/api/v1/tools/
- Auth
- API key in
X-API-Key - Content
- application/json
- Returns
- 200 · ToolResponse
Create a new tool. Args: request: The tool creation request Returns: The created tool
Arguments
| Argument | In | Type | Required | Description |
|---|---|---|---|---|
name | body | string | required | Display name for the tool. |
description | body | string | optional | Description shown to the agent when deciding whether to call it. |
category | body | "http_api" | "end_call" | "transfer_call" | "calculator" | "native" | "integration" | "mcp" | "google_calendar" | "rate_table" | "composio" | "web" | default "http_api" | Tool category. Must match definition.type. |
icon | body | string | default "globe" | Lucide icon identifier. |
icon_color | body | string | default "#3B82F6" | Hex color for the tool icon. |
definition | body | HttpApiToolDefinition | EndCallToolDefinition | TransferCallToolDefinition | CalculatorToolDefinition | RateTableToolDefinition | McpToolDefinition | GoogleCalendarToolDefinition | ComposioToolDefinition | WebToolDefinition | required | Typed tool definition. |
Example request
curl -X POST "https://api.decibyl.ai/api/v1/tools/" \
-H "X-API-Key: dcb_your_key" \
-H "Content-Type: application/json" \
-d '{"name":"string","description":"string","category":"http_api","icon":"globe","icon_color":"#3B82F6","definition":{"schema_version":1,"type":"string","config":{"method":"GET","url":"string","headers":{},"credential_uuid":"string","parameters":[{}],"preset_parameters":[{}],"timeout_ms":5000,"customMessage":"string","customMessageType":"text","customMessageRecordingId":"string","mock_response":{}}}}'Response
{
"id": 1,
"tool_uuid": "string",
"name": "string",
"description": "string",
"category": "string",
"icon": "string",
"icon_color": "string",
"status": "string",
"definition": {},
"created_at": "2026-09-14T09:30:00Z",
"updated_at": "2026-09-14T09:30:00Z",
"created_by": {
"id": 1,
"provider_id": "string"
}
}Errors
| Status | When |
|---|---|
404 | Not found |
422 | Validation Error |