---
title: "List tools"
method: GET
path: "/tools"
tags: ["Tools"]
---

# List tools

`GET /tools`

List tools for the authenticated user

## Query parameters

- `limit` number, double
- `token` string
- `sortBy` 'created_at' | 'modified_at' | 'name'
- `order` 'asc' | 'desc'
- `name` string
- `provider` string

## Response `200`

Tools retrieved successfully

- ListToolsResponseDto — Response DTO for listing tools
  - `tools` GetToolResponseDto[], required — Array of tools
    - `id` string, required — Tool ID
    - `name` string, required — Name of the tool
    - `description` string, required — Description of what the tool does
    - `display_name` string — Human label shown in Studio instead of `name`. Not seen by the LLM.
    - `schema` ToolSchema, required — LLM-facing tool schema for OpenAI function calling Matches OpenAI's function calling specification exactly
      - `parameters` object, required — Parameters schema - must be an object for OpenAI function calling
        - `type` 'object', required — Primitive type names supported by OpenAI
        - `description` string — Description for the LLM
        - `enum` unknown[] — Enumerated values
          - unknown
        - `default` unknown
        - `maxLength` number, double
        - `minLength` number, double
        - `pattern` string
        - `multipleOf` number, double
        - `maximum` number, double
        - `minimum` number, double
        - `items` JSONSchema — JSON Schema definition - matches OpenAI's subset
          - `type` union — The type of the value
            - 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'null' — Primitive type names supported by OpenAI
            - JSONSchemaTypeName[]
          - `description` string — Description for the LLM
          - `enum` unknown[] — Enumerated values
            - unknown
          - `default` unknown
          - `maxLength` number, double
          - `minLength` number, double
          - `pattern` string
          - `multipleOf` number, double
          - `maximum` number, double
          - `minimum` number, double
          - `items` JSONSchema — recursive
          - `maxItems` number, double
          - `minItems` number, double
          - `uniqueItems` boolean
          - `properties` RecordStringJSONSchema — Construct a type with a set of properties K of type T
          - `required` string[]
          - `additionalProperties` union
            - boolean
            - JSONSchema — recursive
        - `maxItems` number, double
        - `minItems` number, double
        - `uniqueItems` boolean
        - `properties` object, required — Construct a type with a set of properties K of type T
        - `required` string[]
        - `additionalProperties` false
    - `config` ToolConfig, required — Server tool configurations
      - `type` 'server', required
      - `url` string, required — URL for the API endpoint
      - `method` 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH', required — HTTP method for the API call
      - `headers` RecordStringString — Construct a type with a set of properties K of type T
      - `timeout` number, double
    - `auth` Auth, nullable — Authentication configuration for tools and webhooks (processed/stored)
      - `secret_id` string, required
    - `provider` string, required — Provider of the tool
    - `created_at` string, required — Creation timestamp
    - `modified_at` string, required — Last modification timestamp
  - `token` string — Pagination token for next page

## Other responses

- `401` — Unauthorized
- `500` — Internal Server Error

---

[API](https://skmtc.net/d-id/apis/realtime-endpoints.md) · [All operations](https://skmtc.net/d-id/apis/realtime-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-id/realtime-endpoints/versions/2f2425e1b6b6/schema)
