Skip to main content
PUT
/
user
/
tools
/
{id}
Update mid call tool
curl --request PUT \
  --url https://app.autocalls.ai/api/user/tools/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "endpoint": "<string>",
  "method": "<string>",
  "body_format": "<string>",
  "timeout": 123,
  "headers": [
    {
      "name": "<string>",
      "value": "<string>"
    }
  ],
  "static_fields": [
    {
      "key": "<string>",
      "value": "<string>"
    }
  ],
  "schema": [
    {
      "name": "<string>",
      "type": "<string>",
      "description": "<string>",
      "required": true
    }
  ]
}
'
{
  "message": "Tool updated successfully",
  "data": {
    "id": 1,
    "name": "update_customer_info",
    "description": "Use this tool to update customer information in the system.",
    "type": "http",
    "endpoint": "https://api.yourcompany.com/customers/update",
    "method": "POST",
    "body_format": "json",
    "timeout": 15,
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      }
    ],
    "static_fields": [
      {
        "key": "source",
        "value": "autocalls"
      }
    ],
    "schema": [
      {
        "name": "customer_name",
        "type": "string",
        "description": "Full name of the customer",
        "required": true
      },
      {
        "name": "balance",
        "type": "float",
        "description": "Account balance as a decimal",
        "required": false
      },
      {
        "name": "newsletter_subscription",
        "type": "boolean",
        "description": "Whether customer wants to subscribe to newsletter",
        "required": false
      }
    ],
    "created_at": "2025-10-10T12:00:00.000000Z",
    "updated_at": "2025-10-10T14:30:00.000000Z"
  }
}
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

For tools linked to an Automation Platform flow, the endpoint, method, and body_format fields are ignored to protect the flow connection.
name
string
Tool name — letters, numbers and underscores, starting with a letter or underscore (max 64 characters)
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 (max 2048 characters)
method
string
HTTP method: GET, POST, PUT, PATCH, or DELETE
body_format
string
Request body encoding for write methods: json (default) or form
timeout
integer
Request timeout in seconds (1-30)
headers
array
HTTP headers to send with the request (replaces existing headers)
static_fields
array
Fixed key/value pairs always sent with the request (replaces existing static fields)
schema
array
Parameters schema (replaces existing schema)

Response fields

message
string
Success message
data
object
The updated tool object with all current values
{
  "message": "Tool updated successfully",
  "data": {
    "id": 1,
    "name": "update_customer_info",
    "description": "Use this tool to update customer information in the system.",
    "type": "http",
    "endpoint": "https://api.yourcompany.com/customers/update",
    "method": "POST",
    "body_format": "json",
    "timeout": 15,
    "headers": [
      {
        "name": "Content-Type",
        "value": "application/json"
      }
    ],
    "static_fields": [
      {
        "key": "source",
        "value": "autocalls"
      }
    ],
    "schema": [
      {
        "name": "customer_name",
        "type": "string",
        "description": "Full name of the customer",
        "required": true
      },
      {
        "name": "balance",
        "type": "float",
        "description": "Account balance as a decimal",
        "required": false
      },
      {
        "name": "newsletter_subscription",
        "type": "boolean",
        "description": "Whether customer wants to subscribe to newsletter",
        "required": false
      }
    ],
    "created_at": "2025-10-10T12:00:00.000000Z",
    "updated_at": "2025-10-10T14:30:00.000000Z"
  }
}

Managing Tool Assignments

To attach or detach this tool from assistants, use the Assistant API:
  • Create Assistant - Use the tool_ids parameter to attach tools when creating an assistant
  • Update Assistant - Use the tool_ids parameter to manage which tools are assigned to an assistant