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

# Update Tool

> Update an existing tool. All fields are optional. Only the fields you provide will be updated.

### Headers

**authorization** `string` *required*

Your API key for authentication.

### Path Parameters

**tool\_id** `string` *required*

The unique identifier of the tool to update.

### Body Parameters

All fields are optional. Only fields included in the request body will be updated.

**name** `string`

The name the AI will see when deciding to use this tool.

**description** `string`

Description of what the tool does.

**integration** `string`

The integration key to update. Must be one of: `bland-sms`, `custom-code`, `slack`, `salesforce`, `rest_api`, `hubspot`, `calendly`, `cal-com-v2`, `notion`.

**action** `string`

The action key to invoke within the integration. To discover available action keys, call `GET /v1/integrations/{integration}/actions`. Returns `400 ACTION_NOT_FOUND` with the list of valid actions if the key is invalid.

**input\_schema** `object`

Must be a valid OpenAI function calling parameter schema. Defines the parameters the AI will fill in when invoking this tool.

**body** `string | object`

Request body template sent to the integration.

**speech** `string`

Text the AI says aloud while executing this tool.

**timeout** `number`

Maximum time in milliseconds to wait for the integration. Minimum `1000`, maximum `60000`.

**cache** `boolean`

Whether to cache the tool's response.

**response\_data** `array`

Defines which fields to extract from the integration response.

**response\_data item**

**name** `string` *required*

Variable name to assign the extracted value.

**data** `string` *required*

JSON path to the value in the response.

**context** `string`

Optional description of what this data represents.

**max\_retries** `number`

Number of times to retry the tool on failure. Minimum `0`, maximum `4`.

**cooldown** `number`

Seconds to wait between retries. Minimum `1`, maximum `30`.

**resource\_id** `string`

UUID of a connected resource (e.g. a Slack workspace or Salesforce org) to scope this tool to. The resource must be active and belong to your account. Returns `404` if the ID is invalid or inactive. To list available resource IDs for an integration, call `GET /v1/integrations/{integration}/resources`.

**public** `boolean`

Whether this tool is publicly visible.

**label** `string`

Human-readable label for this tool.

### Response

**status** `string`

`"success"` on success, `"error"` on failure.

**data.id** `string`

The ID of the updated tool.

**errors** `null|array`

`null` on success, or a list of error objects if the request failed.

```json Request (Partial Update) theme={null}
{
  "description": "Sends an urgent message to a Slack channel",
  "timeout": 15000
}
```

```json Response (Success) theme={null}
{
  "status": "success",
  "data": {
    "id": "abc123def456"
  },
  "errors": null
}
```

```json Error (TOOL_NOT_FOUND) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "TOOL_NOT_FOUND",
      "message": "Tool not found"
    }
  ]
}
```

```json Error (INVALID_PARAMETER) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "INVALID_PARAMETER",
      "message": "timeout must be between 1000 and 60000"
    }
  ]
}
```

```json Error (TOOL_V2_UPDATE_VALIDATION_ERROR) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "TOOL_V2_UPDATE_VALIDATION_ERROR",
      "message": "Validation failed for the provided tool configuration"
    }
  ]
}
```

```json Error (INVALID_TOOL_TYPE) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "INVALID_TOOL_TYPE",
      "message": "The specified tool type is not supported"
    }
  ]
}
```

```json Error (INTEGRATION_NOT_FOUND) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "INTEGRATION_NOT_FOUND",
      "message": "Integration 'my_integration' is not available. Available integrations: bland-sms, custom-code, slack, salesforce, rest_api, hubspot, calendly, cal-com-v2, notion"
    }
  ]
}
```

```json Error (ACTION_NOT_FOUND) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "ACTION_NOT_FOUND",
      "message": "Action 'my_action' not found for integration 'slack'"
    }
  ]
}
```

```json Error (RESOURCE_NOT_FOUND) theme={null}
{
  "data": null,
  "errors": [
    {
      "code": "RESOURCE_NOT_FOUND",
      "message": "Resource not found or is inactive"
    }
  ]
}
```

***

Docs for agents: [llms.txt](https://docs.bland.ai/llms.txt)


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