Create a new tool router session
Creates a new session for the tool router feature. This endpoint initializes a new session with specified toolkits and their authentication configurations. The session provides an isolated environment for testing and managing tool routing logic with scoped MCP server access.
Request body
Example request
{
"user_id": "user_123456789",
"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": "standard"
},
"multi_account": {
"enable": true,
"max_accounts_per_toolkit": 5
},
"experimental": {
"assistive_prompt_config": {
"user_timezone": "America/New_York"
},
"custom_toolkits": [
{
"slug": "ecommerce",
"name": "E-Commerce API",
"description": "Internal e-commerce API for order management and fulfillment",
"tools": [
{
"slug": "GET_CUSTOMER_ORDERS",
"name": "Get Customer Orders",
"description": "Fetch recent orders for a customer by their email address",
"input_schema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Customer email"
}
},
"required": [
"email"
]
}
}
]
}
],
"custom_tools": [
{
"slug": "GET_IMPORTANT_EMAILS",
"name": "Get Important Emails",
"description": "Fetch emails marked as important from the last 24 hours",
"input_schema": {
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Max results to return"
}
}
},
"extends_toolkit": "gmail"
}
]
}
}Response
Session successfully created. Returns the session ID and MCP server URL for the created session.
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.414
- ○
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 status201response-property-type-changed
- ○
the endpoint scheme security
CookieAuthwas removed from the APIapi-security-removed
- ○
added the new optional request property
experimental/custom_toolkits/items/preloadnew-optional-request-property
- ○
added the new optional request property
experimental/custom_toolkits/items/tools/items/preloadnew-optional-request-property
- ○
added the new optional request property
experimental/custom_tools/items/preloadnew-optional-request-property
- ○
added the new optional request property
experimental/link_url_overwritenew-optional-request-property
- ▲
- ▲
response property
config/preload/toolslist-of-types was widened by adding typesstringto media typeapplication/jsonof response201response-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 the201statusresponse-required-property-added
- ○
added the required property
config/searchto the response with the201statusresponse-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
- ○