Execute proxy request within a tool router session
Execute any native API call on a toolkit with authentication automatically injected from Composio. This endpoint proxies HTTP requests to third-party APIs using connected account credentials resolved from the session context. Provide the toolkit slug, API endpoint, and HTTP method — Composio handles authentication injection, abstracting away credential management. Supports all HTTP methods, custom headers/query parameters, and binary request/response bodies.
Project API key authentication
In: header
Path Parameters
Tool router session ID (required for public API, optional for internal - injected by middleware)
toolRouterSessionIdRequest Body
application/json
The slug of the toolkit to use for the request
The API endpoint to call (absolute URL or path relative to base URL of the connected account)
The HTTP method to use for the request
GETPOSTPUTDELETEPATCHHEADThe request body (for POST, PUT, and PATCH requests)
Binary body to send. For binary upload via URL: use {url: "https://...", content_type?: "..."}. For binary upload via base64: use {base64: "...", content_type?: "..."}.
Additional HTTP headers or query parameters to include in the request
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://backend.composio.dev/api/v3/tool_router/session/{session_id}/proxy_execute" \ -H "Content-Type: application/json" \ -d '{ "toolkit_slug": "gmail", "endpoint": "/api/v1/resources", "method": "GET" }'{
"data": {
"id": "123",
"name": "Resource Name",
"created_at": "2023-01-01T00:00:00Z"
},
"binary_data": {
"url": "string",
"content_type": "string",
"size": 0,
"expires_at": "string"
},
"status": 200,
"headers": {
"content-type": "application/json",
"cache-control": "no-cache"
}
}{
"error": {
"message": "string",
"code": 0,
"slug": "string",
"status": 0,
"request_id": "string",
"suggested_fix": "string",
"errors": [
"string"
]
}
}{
"error": {
"message": "string",
"code": 0,
"slug": "string",
"status": 0,
"request_id": "string",
"suggested_fix": "string",
"errors": [
"string"
]
}
}{
"error": {
"message": "string",
"code": 0,
"slug": "string",
"status": 0,
"request_id": "string",
"suggested_fix": "string",
"errors": [
"string"
]
}
}{
"error": {
"message": "string",
"code": 0,
"slug": "string",
"status": 0,
"request_id": "string",
"suggested_fix": "string",
"errors": [
"string"
]
}
}{
"error": {
"message": "string",
"code": 0,
"slug": "string",
"status": 0,
"request_id": "string",
"suggested_fix": "string",
"errors": [
"string"
]
}
}