---
title: "List tools with schemas for a tool router session (v3.1)"
method: GET
path: "/api/v3.1/tool_router/session/{session_id}/tools"
tags: ["Tool Router"]
---

# List tools with schemas for a tool router session (v3.1)

`GET /api/v3.1/tool_router/session/{session_id}/tools`

Returns tools available in a tool router session with complete schemas. Results are paginated; use `next_cursor` to fetch the next page. Tools are returned in alphabetical order.

## Path parameters

- `session_id` string, toolRouterSessionId, required — Tool router session ID

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

Successfully retrieved paginated tools with their complete schemas.

- ToolsPaginated
  - `items` Tool[], required
    - `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
    - `no_auth` boolean, required — Indicates if the tool can be used without authentication
    - `available_versions` 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
    - `scopes` string[], required — List of scopes associated with the tool
    - `scope_requirements` object, nullable, required — Structured scope requirements for the tool. Null means the tool is legacy and only exposes flat scopes.
      - `all_of` union[], required
        - union
          - string
          - object
            - `any_of` union[], required
              - …
            - `when` object
            - `source` string[]
      - `source` string[]
    - `tags` 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` 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
  - `next_cursor` string, nullable
  - `total_pages` number, required
  - `current_page` number, required
  - `total_items` number, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Session not found
- `500` — Internal server error

## Changes

- **2026-07-22** `c039e97e7f14` — 3 info
  - added the optional property `items/items/scope_requirements/all_of/items/anyOf[subschema #2]/any_of/items/anyOf[subschema #2]/source` to the response with the `200` status
  - added the optional property `items/items/scope_requirements/all_of/items/anyOf[subschema #2]/source` to the response with the `200` status
  - added the optional property `items/items/scope_requirements/source` to the response with the `200` status
- **2026-07-16** `b61c29327d74` — 1 breaking, 2 info
  - the `items/items/scope_requirements/all_of/items/anyOf[subschema #2]/any_of/items/` response's property type changed from `string` to no type for status `200`
  - added the optional property `items/items/scope_requirements/all_of/items/anyOf[subschema #2]/when` to the response with the `200` status
  - added `subschema #1, subschema #2` to the `items/items/scope_requirements/all_of/items/anyOf[subschema #2]/any_of/items/` response property `anyOf` list for the response status `200`
- **2026-06-17** `589a7d115a5e` — 2 info
  - the endpoint scheme security `CookieAuth` was removed from the API
  - the endpoint scheme security `UserApiKeyAuth` was removed from the API
- **2026-05-05** `5a3709be76a7` — 2 breaking, 10 info
  - removed the request body
  - the `path` request parameter `session_id` became required
  - added the new optional `query` request parameter `cursor`
  - added the new optional `query` request parameter `limit`
  - …8 more
- …earlier changes not shown

[Full history](https://skmtc.dev/composiohq/apis/composio-platform-api-v3-1/changes/api/v3.1/tool_router/session/:session_id/tools/get.md)

---

[API](https://skmtc.dev/composiohq/apis/composio-platform-api-v3-1.md) · [All operations](https://skmtc.dev/composiohq/apis/composio-platform-api-v3-1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/composiohq/composio-platform-api-v3-1/revisions/4239836857f8/schema)
