Skip to main content
PUT
Update a tool
Requires Editor, Admin, or Owner. Changing a definition that has stored credentials, headers, or preset parameter values requires Admin or Owner. Existing masked secrets are preserved through supported updates; supply a real replacement value when changing a secret. Updating an MCP definition can repeat discovery against its remote server. The response is the updated tool. Retrieve the latest definition before editing; there is no revision parameter for concurrent updates. Tools managed by an integration cannot be created, edited, duplicated, archived, or restored through the general tool endpoints; these attempts return 409. Do not set integration_provider or integration_id yourself. Manage Calendly access through its connection endpoints.

Authorizations

Authorization
string
header
required

Bandwidth Labs OAuth access token. Uses the user's selected workspace; the workspace header is not required. Do not also send an API key. Bearer-only operations may additionally require the Labs super_user role.

Headers

X-VOAI-ORGANIZATION-ID
string | null

Required with X-BW-LABS-AGENTS-API-KEY: the positive local workspace ID to access. The key owner must be a current member. Missing or invalid IDs return 400; non-member workspaces return 403. Not required for bearer authentication, which uses the user's selected workspace.

Path Parameters

tool_uuid
string
required

Body

application/json
definition
HttpApiToolDefinition · object
description
string | null
icon
string | null
Maximum string length: 50
icon_color
string | null
Maximum string length: 7
name
string | null
Maximum string length: 255
status
string | null

Response

Successful Response

category
string
required
created_at
string<date-time>
required
definition
Definition · object
required
description
string | null
required
icon
string | null
required
icon_color
string | null
required
id
integer
required
name
string
required
status
string
required
tool_uuid
string
required
updated_at
string<date-time> | null
required
created_by
CreatedByResponse · object | null