> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getnexor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Client Tools

<span class="badge--get">GET</span> <code class="endpoint-url">/client-tools</code>

List the client's reusable tool catalog. A catalog tool can be assigned to multiple agents with [Assign Tool to Workflow](/docs/en/api/client-tools/assign-tool-to-workflow), where it inherits and stays in sync with the catalog row. For a tool that should live in a single agent only, see [Create Workflow Tool](/docs/en/api/workflow-tools/create-workflow-tool) instead.

## Responses

### `200` — Successful response

```json theme={null}
{
  "success": true,
  "tools": [
    {
      "id": "7c1b2c3d-0000-4000-8000-000000000002",
      "client_id": "3f9a1111-0000-4000-8000-000000000099",
      "name": "check_subscription",
      "description": "Checks whether the lead has an active subscription",
      "url": "https://api.acme.com/subscriptions/status",
      "method": "GET",
      "timeout_ms": 10000,
      "parameters": { "type": "object", "properties": {} },
      "headers": {},
      "query_parameters": {},
      "speak_during_execution": true,
      "speak_after_execution": true,
      "response_variables": {},
      "is_active": true,
      "sort_order": 0,
      "execution_message_type": null,
      "execution_message_description": null,
      "llm_response_fields": null,
      "created_at": "2026-07-15T12:00:00.000Z",
      "updated_at": "2026-07-15T12:00:00.000Z"
    }
  ]
}
```

### Response Fields — ClientTool

| Field                           | Type               | Description                                                                |
| ------------------------------- | ------------------ | -------------------------------------------------------------------------- |
| `id`                            | string (uuid)      | Tool identifier                                                            |
| `client_id`                     | string (uuid)      | Your client identifier                                                     |
| `name`                          | string             | snake\_case name the agent references when calling the tool. Immutable     |
| `description`                   | string             | Tells the agent what the tool does and when to use it. Max 1024 characters |
| `url`                           | string             | Endpoint the tool calls                                                    |
| `method`                        | string             | HTTP method: `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`                    |
| `timeout_ms`                    | integer            | Clamped to 1,000–120,000                                                   |
| `parameters`                    | object             | JSON-schema-style object describing the tool's call arguments              |
| `headers`                       | object             | Static headers sent with every call                                        |
| `query_parameters`              | object             | Static query string params sent with every call                            |
| `speak_during_execution`        | boolean            | Have the voice agent speak while the call is in flight                     |
| `speak_after_execution`         | boolean            | Have the voice agent speak once the call returns                           |
| `response_variables`            | object             | Map of response fields to capture as call variables                        |
| `is_active`                     | boolean            | Whether the agent can currently call this tool                             |
| `sort_order`                    | integer            | Display order                                                              |
| `execution_message_type`        | string \| null     | e.g. `"prompt"`                                                            |
| `execution_message_description` | string \| null     | What the agent says during/after execution                                 |
| `llm_response_fields`           | string\[] \| null  | Allowlist of response fields the agent sees                                |
| `created_at`                    | string (date-time) | Creation timestamp                                                         |
| `updated_at`                    | string (date-time) | Last update timestamp                                                      |

### `401` — Authentication error

See [Authentication](/docs/en/api/authentication).

### `500` — Internal server error
