Skip to main content
PATCH
/
v1
/
tools
/
{tool_id}
Update Tool
curl --request PATCH \
  --url https://api.oneinbox.ai/v1/tools/{tool_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "description": "<string>",
  "url": "<string>",
  "headers": {},
  "parameters": [
    {
      "name": "<string>",
      "required": false,
      "description": "<string>",
      "enum": [
        "<string>"
      ]
    }
  ],
  "parameters_schema": {},
  "credential_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "run_in_background": true,
  "speak_during_execution": true,
  "transfer_to": "<string>",
  "transfer_config": {
    "mode": "cold",
    "extra_instructions": "<string>"
  },
  "extraction_schema": {
    "fields": [
      {
        "name": "<string>",
        "description": "<string>",
        "required": false
      }
    ]
  },
  "messaging_config": {
    "to": "<string>",
    "subject_template": "<string>",
    "body_template": "<string>"
  },
  "calendar_config": {
    "event_type_id": 123,
    "duration_minutes": 720,
    "timezone": "<string>",
    "api_version": "2026-02-25"
  }
}
'
{
  "id": "<string>",
  "name": "<string>",
  "type": "<string>",
  "description": "<string>",
  "url": "<string>",
  "method": "<string>",
  "headers": {},
  "parameters": [
    "<unknown>"
  ],
  "transfer_to": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "parameters_schema": {},
  "credential_id": "<string>",
  "transfer_config": {},
  "run_in_background": false,
  "speak_during_execution": false,
  "extraction_schema": {},
  "messaging_config": {},
  "calendar_config": {}
}

Authorizations

Authorization
string
header
required

Your API key sent as a Bearer credential — Authorization: Bearer <api_key>, where <api_key> starts with oi_sk_ (create one via POST /v1/api-keys). Although the field is labelled 'token', paste your API key here. A dashboard JWT is also accepted on this header for the same endpoints.

Path Parameters

tool_id
string<uuid>
required

Body

application/json
name
string | null
Required string length: 1 - 255
description
string | null
url
string | null
method
enum<string> | null
Available options:
GET,
POST,
PUT,
PATCH,
DELETE
headers
Headers · object | null
parameters
ToolParameter · object[] | null
parameters_schema
Parameters Schema · object | null
credential_id
string<uuid> | null
run_in_background
boolean | null
speak_during_execution
boolean | null
transfer_to
string | null
Pattern: ^\+[1-9]\d{1,14}$
transfer_config
TransferConfig · object | null

transfer_call mode. Absent/cold => today's blind SIP REFER. warm uses LiveKit's WarmTransferTask (consult room, hold music, context handoff).

extraction_schema
ExtractionSchema · object | null
messaging_config
MessagingConfig · object | null

send_sms / send_email config. to is the recipient (a number/email, or {placeholder} resolved from extracted call data). body_template / subject_template render against {summary} + extracted fields.

calendar_config
CalendarConfig · object | null

schedule_calendar_event config (Cal.com). The API key comes from the tool's linked credential_id (a calcom credential) — never stored here.

Response

Successful Response

id
string
required
name
string
required
type
string
required
description
string | null
required
url
string | null
required
method
string | null
required
headers
Headers · object
required
parameters
any[]
required
transfer_to
string | null
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
parameters_schema
Parameters Schema · object | null
credential_id
string
transfer_config
Transfer Config · object | null
run_in_background
boolean
default:false
speak_during_execution
boolean
default:false
extraction_schema
Extraction Schema · object | null
messaging_config
Messaging Config · object | null
calendar_config
Calendar Config · object | null