Skip to main content
PATCH
Edit author-editable metadata on a single tool (response_field_map, is_enabled, input_defaults — defaults + pinned)

Authorizations

x-api-key
string
header
required

Path Parameters

connection_id
string<uuid>
required
tool_id
string<uuid>
required

Body

application/json

Author-editable fields on a single IntegrationConnectionTool.

Three mutable fields: response_field_map (the customer-owned field map {"field_mappings": [...]} that narrows the agent-facing response and drives the AOP compiler's kind=llmkind=action promotion), is_enabled (turn the individual tool on/off for the agent), and input_defaults (operator input-arg config, {field_name: {"value": ..., "type": "default"|"pinned"}} — ENG-590; a default may be overwritten by the agent, a pinned value cannot). input_defaults is validated at the service layer against the row's current input_schema (it needs the row, which a Pydantic validator can't see), so a wrong-type value or unknown field is rejected there with a 422. The response shape (response_schema) is sync-owned and read-only over the API (ENG-631 D2), so it is deliberately NOT accepted here — extra="forbid" rejects it with a 422.

Pydantic's model_fields_set is used at the service layer to distinguish "omit this field" (no-op) from "explicit None" (clear the field).

response_field_map
Response Field Map · object | null
is_enabled
boolean | null
input_defaults
Input Defaults · object | null

Response

Successful Response

id
string<uuid>
required
connection_id
string<uuid>
required
organization_id
string<uuid>
required
integration_key
enum<string>
required

Stable identifier for each supported integration.

The string value must match the vendor's per-provider identifier (for Nango: provider_config_key). Persisted on integration_connections.integration_key and integration_connection_tools.integration_key.

Adding a new integration: append a member here, add an IntegrationSpec to INTEGRATIONS, register the provider in the vendor cloud via src/integrations/bootstrap.py (Step 3).

Available options:
slack,
custom_mcp,
notion,
google_drive,
calcom,
twilio,
email
nickname_slug
string
required
tool_path
string
required
slug
string
required
display_name
string
required
description
string | null
required
input_schema
Input Schema · object
required
is_enabled
boolean
required
last_seen_at
string<date-time>
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
stale_field_paths
string[]
required
read-only

Saved field-map paths no longer present in the shape (ENG-631 D4).

default_count
integer
required
read-only

How many input fields carry an operator default (ENG-590 / PRD 7.7).

pinned_count
integer
required
read-only

How many input fields are operator-pinned (ENG-590).

stale_input_fields
string[]
required
read-only

Configured input fields removed/renamed/retyped by a re-sync (PRD 7.6).

merged_input_preview
Merged Input Preview · object
required
read-only

input_schema with each operator value injected (PRD 7.8).

response_schema
Response Schema · object | null
response_field_map
Response Field Map · object | null
input_defaults
Input Defaults · object | null