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

# List tools

`GET /v1/tools`

Returns a list of tools in your project.

## Query parameters

- `starting_after` string
- `limit` integer

## Response `200`

OK

- ListToolsResponse
  - `tools` Tool[], required
    - `code` string, required — The code of the tool. You must define a function named "execute" that takes in a single argument and returns a JSON-serializable value. The argument will be the "input" passed when executing the tool, and will match the input schema.
    - `description` string, required — A description of the tool.
    - `id` string, required — The ID of the tool.
    - `input_schema` unknown, required
    - `language` 'python' | 'javascript' | 'typescript', required — The language of the tool's code.
    - `name` string, required — The name of the tool.
    - `revision_id` string, required — The ID of the tool's current revision. This is used to pin executions to a specific version of the tool, even if the tool is updated later.
    - `runtime_revision_id` string — The ID of the custom runtime revision that the tool uses for executions. This pins executions to specific version of a custom runtime runtime, even if the runtime is updated later.

## Other responses

- `401` — Unauthenticated error response

## Changes

- **2025-04-24** `f9777846c474` — 2 info
  - added the new optional `query` request parameter `limit`
  - added the new optional `query` request parameter `starting_after`
- **2025-02-05** `4ca61d8b4e33` — 1 breaking, 1 info
  - the `code` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `401`
  - added the optional property `tools/items/runtime_revision_id` to the response with the `200` status
- **2025-01-15** `fbf471c508c8` — 3 warning, 3 info
  - added the new `javascript` enum value to the `tools/items/language` response property for the response status `200`
  - added the new `python` enum value to the `tools/items/language` response property for the response status `200`
  - added the new `typescript` enum value to the `tools/items/language` response property for the response status `200`
  - removed the `JAVASCRIPT` enum value from the `tools/items/language` response property for the response status `200`
  - …2 more
- **2024-12-05** `9a6cae8060b4` — 2 info
  - removed the `PHP` enum value from the `tools/items/language` response property for the response status `200`
  - removed the `RUBY` enum value from the `tools/items/language` response property for the response status `200`
- **2024-11-06** `260955f7cb9e` — 1 info
  - the response property `tools` became required for the status `200`

[Full history](https://skmtc.dev/riza-io/apis/execute/changes/v1/tools/get.md)

---

[API](https://skmtc.dev/riza-io/apis/execute.md) · [All operations](https://skmtc.dev/riza-io/apis/execute/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/riza-io/execute/revisions/bab65e0b0c2b/schema)
