> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lacy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create mid call tool

> Create a new mid call tool

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

**name** `string` *required*

Tool name - must contain only lowercase letters and underscores, and start with a letter (e.g., `get_weather`, `book_appointment`)

**description** `string` *required*

Detailed explanation of when and how the AI should use this tool (max 255 characters)

**endpoint** `string` *required*

Valid URL of the API endpoint to call

**method** `string` *required*

HTTP method: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`

**timeout** `integer`

Request timeout in seconds (1-30, default: 10)

**headers** `array`

HTTP headers to send with the request

**headers properties**

**name** `string` *required*

Header name

**value** `string` *required*

Header value

**schema** `array`

Parameters that the AI will extract from conversation and send to the endpoint

**schema properties**

**name** `string` *required*

Parameter name (2-32 chars, must start with letter, can contain letters and underscores)

**type** `string` *required*

Parameter type: `string`, `number`, or `boolean`

**description** `string` *required*

Description to help AI understand how to extract this parameter (3-255 chars)

### Response fields

**message** `string`

Success message

**data** `object`

The created tool object

**data properties**

**id** `integer`

The unique identifier of the tool

**name** `string`

The name of the tool

**description** `string`

Tool description

**endpoint** `string`

API endpoint URL

**method** `string`

HTTP method

**timeout** `integer`

Request timeout in seconds

**headers** `array`

HTTP headers

**schema** `array`

Parameter schema

**created\_at** `string`

ISO 8601 timestamp

**updated\_at** `string`

ISO 8601 timestamp

```json 201 Created theme={null}
{
  "message": "Tool created successfully",
  "data": {
    "id": 1,
    "name": "check_order_status",
    "description": "Use this tool to check the status of a customer's order.",
    "endpoint": "https://api.yourstore.com/orders/status",
    "method": "GET",
    "timeout": 10,
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      },
      {
        "name": "Authorization",
        "value": "Bearer sk_..."
      }
    ],
    "schema": [
      {
        "name": "order_id",
        "type": "string",
        "description": "The customer's order ID"
      },
      {
        "name": "order_number",
        "type": "number",
        "description": "The numeric order number"
      },
      {
        "name": "priority_order",
        "type": "boolean",
        "description": "Whether this is a priority order"
      }
    ],
    "created_at": "2025-10-10T12:00:00.000000Z",
    "updated_at": "2025-10-10T12:00:00.000000Z"
  }
}
```

```json 422 Validation Error theme={null}
{
  "message": "The name field must contain only lowercase letters and underscores, and start with a letter.",
  "errors": {
    "name": [
      "Tool name must contain only lowercase letters and underscores, and start with a letter."
    ]
  }
}
```

```json 422 Plan Limit Reached theme={null}
{
  "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](https://docs.lacy.ai/api-reference/assistants/create-assistant.md)** - Use the `tool_ids` parameter to attach tools when creating an assistant
* **[Update Assistant](https://docs.lacy.ai/api-reference/assistants/update-assistant.md)** - Use the `tool_ids` parameter to add, remove, or replace tools on an existing assistant


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.