Patch a tool router session config (v3.1)
Partially updates the configuration of an existing tool router session. Only the fields provided in the request body will be updated. Uses optimistic concurrency control to prevent lost updates. The previous config is stored in config history.
Path parameters
The unique identifier of the tool router session
The unique identifier of the tool router session
Request body
Example request
{
"toolkits": {
"enable": [
"gmail",
"slack",
"github"
]
},
"auth_configs": {
"gmail": "ac_1a2b3c4d5e6f",
"slack": "ac_7g8h9i0j1k2l"
},
"manage_connections": {
"enable": true,
"callback_url": "https://your-app.com/auth/callback"
},
"tools": {
"gmail": {
"enable": [
"GMAIL_SEND_EMAIL",
"GMAIL_FETCH_EMAILS"
]
},
"slack": {
"disable": [
"SLACK_ADD_EMOJI"
]
},
"slackbot": {
"tags": {
"enable": [
"destructiveHint"
],
"disable": [
"openWorldHint"
]
}
}
},
"workbench": {
"enable": true,
"enable_proxy_execution": true,
"auto_offload_threshold": 20000,
"sandbox_size": "large"
},
"multi_account": {
"enable": true,
"max_accounts_per_toolkit": 5
}
}Response
Session config successfully patched.
Example response
{
"session_id": "trs_1a2b3c4d5e6f",
"mcp": {
"url": "https://app.composio.dev/tool_router/v3/trs_1a2b3c4d5e6f/mcp"
},
"warnings": [
{
"code": "PRELOAD_TOOLS_HIGH_CONTEXT_USAGE",
"message": "Session preloads 25 tools; each preloaded tool adds to the agent context window. Consider keeping the list at or under ~20 tools."
}
]
}Changes
Changed in 4 of the 61 revisions of this API.412
- ○
the endpoint scheme security
CookieAuthwas removed from the APIapi-security-removed
- ○
the endpoint scheme security
UserApiKeyAuthwas removed from the APIapi-security-removed
- ○
- ▲
the
connected_accounts/additionalProperties/request property's minItems was increased to1request-property-min-items-increased
- ▲
the
connected_accounts/additionalProperties/request property type/format changed fromstring/connectedAccountIdtoarray/request-property-type-changed
- ▲
the
config/connected_accounts/additionalProperties/response's property type/format changed fromstring/connectedAccountIdtoarray/for status200response-property-type-changed
- ○
added the new optional request property
experimental/link_url_overwritenew-optional-request-property
- ○
the request property
connected_accountsbecame nullablerequest-property-became-nullable
- ▲
- ▲
response property
config/preload/toolslist-of-types was widened by adding typesstringto media typeapplication/jsonof response200response-property-list-of-types-widened
- ○
added the new optional request property
executenew-optional-request-property
- ○
added the new optional request property
searchnew-optional-request-property
- ○
added the new
ask_alwaysenum value to the request propertyexperimental/permissions/overrides/additionalProperties/request-property-enum-value-added
- ○
added the new
ask_onceenum value to the request propertyexperimental/permissions/overrides/additionalProperties/request-property-enum-value-added
- ○
request property
preload/toolslist-of-types was widened by adding typesstringto media typeapplication/jsonrequest-property-list-of-types-widened
- ○
added the required property
config/executeto the response with the200statusresponse-required-property-added
- ○
added the required property
config/searchto the response with the200statusresponse-required-property-added
This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲
- ○
endpoint added
endpoint-added
- ○