Skip to content

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

ArgumentInTypeRequiredDescription
namebodystringrequiredDisplay name for the tool.
descriptionbodystringoptionalDescription shown to the agent when deciding whether to call it.
categorybody"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.
iconbodystringdefault "globe"Lucide icon identifier.
icon_colorbodystringdefault "#3B82F6"Hex color for the tool icon.
definitionbodyHttpApiToolDefinition | EndCallToolDefinition | TransferCallToolDefinition | CalculatorToolDefinition | RateTableToolDefinition | McpToolDefinition | GoogleCalendarToolDefinition | ComposioToolDefinition | WebToolDefinitionrequiredTyped 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

StatusWhen
404Not found
422Validation Error