# List meta tools with schemas for a tool router session

**Documentation:** /reference/api-reference/tool-router/getToolRouterSessionBySessionIdTools

Returns the meta tools available in a tool router session with their complete schemas. This includes request and response schemas specific to the session context.

---

## GET `/api/v3/tool_router/session/{session_id}/tools`

**Endpoint:** `https://backend.composio.dev/api/v3/tool_router/session/{session_id}/tools`

**Summary:** List meta tools with schemas for a tool router session

Returns the meta tools available in a tool router session with their complete schemas. This includes request and response schemas specific to the session context.

### Authentication

**ApiKeyAuth** - API Key in `header` header `x-api-key` OR **UserApiKeyAuth** - API Key in `header` header `x-user-api-key`

### Path Parameters

- `session_id` (string (toolRouterSessionId)) *(required)*: Tool router session ID

### Request Body

**Schema:**


**Example:**

```json
{}
```

### Responses

#### 200 - Successfully retrieved meta tools with their complete schemas.

**Response Schema:**

- `items` (array<object>) *(required)*: List of tools with their complete schemas
  - Array items:
    - `slug` (string) *(required)*: Unique identifier for the tool
    - `name` (string) *(required)*: Human-readable display name of the tool
    - `description` (string) *(required)*: Detailed explanation of the tool's functionality and purpose
    - `toolkit` (object) *(required)*
      - `slug` (string) *(required)*: Unique identifier of the parent toolkit
      - `name` (string) *(required)*: Human-readable name of the parent toolkit
      - `logo` (string) *(required)*: URL to the toolkit logo image
    - `input_parameters` (object) *(required)*: Schema definition of required input parameters for the tool
      - `[key: string]` (any)
    - `no_auth` (boolean) *(required)*: Indicates if the tool can be used without authentication
    - `available_versions` (array<string>) *(required)*: List of all available versions for this tool
    - `version` (string) *(required)*: Current version of the tool
    - `output_parameters` (object) *(required)*: Schema definition of return values from the tool
      - `[key: string]` (any)
    - `scopes` (array<string>) *(required)*: List of scopes associated with the tool
    - `tags` (array<string>) *(required)*: List of tags associated with the tool for categorization and filtering
    - `human_description` (string): Human-friendly description of the tool, if available
    - `is_deprecated` (boolean) *(required)*: Indicates if this tool is deprecated and may be removed in the future
    - `deprecated` (object) *(required)*
      - `displayName` (string) *(required)*: The display name of the tool
      - `version` (string) *(required)*: Current version identifier of the tool
      - `available_versions` (array<string>) *(required)*: List of all available versions for this tool
      - `is_deprecated` (boolean) *(required)*: Indicates if this tool is deprecated and may be removed in the future
      - `toolkit` (object) *(required)*
        - `logo` (string) *(required)*: URL to the toolkit logo image

**Example Response:**

```json
{
  "items": [
    {
      "slug": "string",
      "name": "string",
      "description": "string",
      "toolkit": {
        "slug": "...",
        "name": "...",
        "logo": "..."
      },
      "input_parameters": {
        "key": "..."
      },
      "no_auth": true,
      "available_versions": [
        "..."
      ],
      "version": "string",
      "output_parameters": {
        "key": "..."
      },
      "scopes": [
        "..."
      ],
      "tags": [
        "..."
      ],
      "human_description": "string",
      "is_deprecated": true,
      "deprecated": {
        "displayName": "...",
        "version": "...",
        "available_versions": "...",
        "is_deprecated": "...",
        "toolkit": "..."
      }
    }
  ]
}
```

#### 400 - Bad request

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 401 - Unauthorized

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 403 - Forbidden

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 404 - Not found

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

#### 500 - Internal server error

**Response Schema:**

- `error` (object) *(required)*
  - `message` (string) *(required)*
  - `code` (number) *(required)*
  - `slug` (string) *(required)*
  - `status` (number) *(required)*
  - `request_id` (string)
  - `suggested_fix` (string)
  - `errors` (array<string>)

### Example cURL Request

```bash
curl -X GET "https://backend.composio.dev/api/v3/tool_router/session/string/tools" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```