---
title: "List custom code tools"
method: GET
path: "/v1/custom-tools"
tags: ["custom_tools"]
---

# List custom code tools

`GET /v1/custom-tools`

Returns cursor-paginated custom code tools for a workspace.

## Query parameters

- `workspace_id` string, required — Workspace to query.
- `limit` integer
- `cursor` string

## Response `200`

Workspace custom tools

- object — Cursor-paginated custom code tools response.
  - `data` object[], required
    - `id` string, required
    - `workspace_id` string, required
    - `name` string, required
    - `description` string, required
    - `language` 'python' | 'javascript', required — Runtime the tool's code is executed in. Determines the entrypoint signature and which dependencies are available (see GET /v1/custom-tools/runtimes).
    - `code` string, required
    - `parameters` object, required — Parameters the tool accepts, keyed by parameter name. Each becomes a key in the `params` object/dict passed to `main`.
    - `execution_message_description` string, nullable, required
    - `enable_globally` boolean, required
    - `validated` boolean, required
    - `version` number, required
    - `created_at` string, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/conduit/apis/conduit-api.md) · [All operations](https://skmtc.net/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/conduit/conduit-api/versions/3ad7e17f96ad/schema)
