> ## 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.

# Update mid call tool

> Update an existing mid call tool

This endpoint allows you to update an existing mid call tool. All fields are optional - only provide the fields you want to update.

### Path Parameters

**id** `integer` *required*

The unique identifier of the tool to update

### Body Parameters

**name** `string`

Tool name - must contain only lowercase letters and underscores, and start with a letter

**description** `string`

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

**endpoint** `string`

Valid URL of the API endpoint to call

**method** `string`

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

**timeout** `integer`

Request timeout in seconds (1-30)

**headers** `array`

HTTP headers to send with the request (replaces existing headers)

**headers properties**

**name** `string` *required*

Header name

**value** `string` *required*

Header value

**schema** `array`

Parameters schema (replaces existing schema)

**schema properties**

**name** `string` *required*

Parameter name (2-32 chars)

**type** `string` *required*

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

**description** `string` *required*

Parameter description (3-255 chars)

### Response fields

**message** `string`

Success message

**data** `object`

The updated tool object with all current values

```json 200 OK theme={null}
{
  "message": "Tool updated successfully",
  "data": {
    "id": 1,
    "name": "update_customer_info",
    "description": "Use this tool to update customer information in the system.",
    "endpoint": "https://api.yourcompany.com/customers/update",
    "method": "POST",
    "timeout": 15,
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      }
    ],
    "schema": [
      {
        "name": "customer_name",
        "type": "string",
        "description": "Full name of the customer"
      },
      {
        "name": "customer_age",
        "type": "number",
        "description": "Age of the customer"
      },
      {
        "name": "newsletter_subscription",
        "type": "boolean",
        "description": "Whether customer wants to subscribe to newsletter"
      }
    ],
    "created_at": "2025-10-10T12:00:00.000000Z",
    "updated_at": "2025-10-10T14:30:00.000000Z"
  }
}
```

```json 404 Not Found theme={null}
{
  "message": "Tool not found"
}
```

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

### Managing Tool Assignments

To attach or detach this tool from assistants, use 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 manage which tools are assigned to an assistant


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