API Reference
Create mid call tool
Create a new mid call tool
On this page
This endpoint allows you to create a new mid call tool that can be used by your AI assistants to interact with external APIs during calls.
Body Parameters
The public API creates HTTP request tools. Automation Platform tools (which
generate a linked flow) are created from the dashboard. Tool values support
dynamic variables — use {param} for AI-extracted parameters in the URL, and
{{variable}} (e.g. {{customer_phone}}) in the URL, header values, and static
field values.
namestringrequired
Tool name — letters, numbers and underscores, starting with a letter or underscore (max 64 characters, e.g., get_weather, book_appointment)
descriptionstringrequired
Detailed explanation of when and how the AI should use this tool (max 255 characters)
endpointstringrequired
Valid URL of the API endpoint to call (max 2048 characters)
methodstringrequired
HTTP method: GET, POST, PUT, PATCH, or DELETE
body_formatstring
How the request body is encoded for write methods (POST/PUT/PATCH): json (default) or form (application/x-www-form-urlencoded)
timeoutinteger
Request timeout in seconds (1-30, default: 10)
headersarray
HTTP headers to send with the request
static_fieldsarray
Fixed key/value pairs always sent with the request (the AI never changes them)
schemaarray
Parameters that the AI will extract from conversation and send to the endpoint
Response fields
messagestring
Success message
dataobject
The created tool object
{
"message": "Tool created successfully",
"data": {
"id": 1,
"name": "check_order_status",
"description": "Use this tool to check the status of a customer's order.",
"type": "http",
"endpoint": "https://api.yourstore.com/orders/{order_id}/status",
"method": "GET",
"body_format": "json",
"timeout": 10,
"headers": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Authorization",
"value": "Bearer {{crm_key}}"
}
],
"static_fields": [
{
"key": "source",
"value": "voxlink"
},
{
"key": "caller",
"value": "{{customer_phone}}"
}
],
"schema": [
{
"name": "order_id",
"type": "string",
"description": "The customer's order ID",
"required": true
},
{
"name": "amount",
"type": "float",
"description": "Order total as a decimal, e.g. 19.99",
"required": false
},
{
"name": "priority_order",
"type": "boolean",
"description": "Whether this is a priority order",
"required": false
}
],
"created_at": "2025-10-10T12:00:00.000000Z",
"updated_at": "2025-10-10T12:00:00.000000Z"
}
}
{
"message": "Tool name must start with a letter or underscore and contain only letters, numbers, and underscores (max 64 characters).",
"errors": {
"name": [
"Tool name must start with a letter or underscore and contain only letters, numbers, and underscores (max 64 characters)."
]
}
}
{
"message": "You have reached your plan limit of 5 mid call tools. Please upgrade your plan to create more tools."
}
Attaching Tools to Assistants
After creating a tool, you need to attach it to an assistant to use it during calls. Tools are managed through the Assistant API:
- Create Assistant - Use the
tool_idsparameter to attach tools when creating an assistant - Update Assistant - Use the
tool_idsparameter to add, remove, or replace tools on an existing assistant
Related guides
API Reference
Introduction
Welcome to the VoxLink API
Read guide →API Reference
Authentication
Learn how to authenticate your API requests
Read guide →API Reference
Get current user
Get the authenticated user's profile information
Read guide →API Reference
List assistants
List all assistants for the authenticated user with pagination
Read guide →