Skip to main content
POST
/
v2
/
tools
/
{tool_id}
Update Tool
curl --request POST \
  --url https://api.bland.ai/v2/tools/{tool_id} \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "integration": "<string>",
  "action": "<string>",
  "input_schema": {},
  "body": {},
  "speech": "<string>",
  "timeout": 123,
  "cache": true,
  "response_data": [
    {
      "name": "<string>",
      "data": "<string>",
      "context": "<string>"
    }
  ],
  "max_retries": 123,
  "cooldown": 123,
  "resource_id": "<string>",
  "public": true,
  "label": "<string>"
}
'
{
  "description": "Sends an urgent message to a Slack channel",
  "timeout": 15000
}

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.
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.
{
  "description": "Sends an urgent message to a Slack channel",
  "timeout": 15000
}