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

# GET /api/v1/tools

`GET /api/v1/tools`

Retrieves multiple tools.

## Query parameters

- `agentIds` union
  - string[]
  - string, uuid — A UUID v4 string that identifies an entity.
- `joins` union
  - string[]
  - 'agents'
- `pageNumber` number — The page number.
- `pageSize` number — The page size.
- `search` string — Search term to filter tools by name or description.
- `versionIds` union
  - string[]
  - string, uuid — A UUID v4 string that identifies an entity.

## Headers

- `authorization` string, required — The API key to use for authentication. Can be created in the api keys section on the workspace settings page.

## Response `200`

Retrieves all tools for the workspace.

- union[]
  - union
    - object
      - `createdAt` string, date-time, required
      - `id` string, uuid, required — A UUID v4 string that identifies an entity.
      - `isRemoved` boolean, required
      - `referenceId` string, uuid, nullable, required — The ID of the original entity in production.
      - `updatedAt` string, date-time, required
      - `versionId` string, uuid, required — A UUID v4 string that identifies an entity.
      - `description` string, required — The internal description of the tool.
      - `detail` union, required
        - object
          - `allowedDomains` string[], required — List of domains allowed in web search results.
          - `effort` 'low' | 'medium' | 'high', required — Web search effort level.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `llmProviderId` string, uuid, nullable, required — Optional OpenAI LLM provider ID to be used in this tool call.
          - `prompt` string, nullable, required — Prompt to be appended alongside queries to instruct the LLM call.
          - `type` 'agentic-web-search', required
        - object
          - `body` string, nullable, required — The body of the HTTP request as JSON string.
          - `headers` string, nullable, required — The headers of the HTTP request as JSON string.
          - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', required
          - `parameters` object, required — The JSON Schema definition of the parameters that will be passed to the HTTP request.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `query` string, nullable, required — The query parameters of the HTTP request as JSON string.
          - `type` 'http-request', required
          - `url` string, uri, required — The URL to send the HTTP request to. Should not contain query parameters.
        - object
          - `code` string, required — The code to be executed. Must contain a function named main that takes no parameters.
          - `parameters` object, required — The JSON Schema definition of the parameters that will be passed to the code execution tool.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `type` 'code-execution', required
        - object
          - `parameters` object, required — The JSON Schema definition of the parameters containing the description of the memory to be stored.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `sensitiveParameters` string[], required — Wheter the parameters are sensitive and should not be shown.
          - `type` 'contextual-memory', required
        - object
          - `datasetId` string, uuid, nullable, required — The id of the dataset to search in.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `mode` 'scoped' | 'global', required — The mode of the dataset search.
          - `type` 'dataset-search', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to update the row in.
          - `type` 'datagrid-row-update', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to insert the row into.
          - `type` 'datagrid-row-insertion', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to search the row in.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `results` number, required — The number of results to return to the agent.
          - `type` 'datagrid-row-semantic-search', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to search the row in.
          - `results` number, required — The number of results to return to the agent.
          - `type` 'datagrid-row-similarity-search', required
        - object
          - `tagging` object, required — Tagging configuration for tickets.
            - `allowedIds` string[], required
            - `status` 'enabled' | 'disabled', required
          - `ticketingTeamId` string, uuid, nullable, required — The id of the ticketing team responsible for the ticket.
          - `type` 'ticket-creation', required
        - object
          - `tagging` object, required — Tagging configuration for chats.
            - `allowedIds` string[], required
            - `status` 'enabled' | 'disabled', required
          - `type` 'chat-tagging', required
        - object
          - `path` string, nullable, required — The path of the trigger to the workflow implementation to execute.
          - `type` 'workflow-executor', required
        - object
          - `file` string, required
          - `fileName` string, required — The name of the PDF file.
          - `type` 'pdf-reader', required
        - object
          - `execution` 'eligible' | 'compulsory', required
          - `fallback` object, nullable, required
            - `prompt` string, required
          - `options` object[], required
            - `condition` string, required
            - `label` string, required
            - `prompt` string, required
          - `type` 'follow-up', required
        - object
          - `connectionId` string, uuid, required — The ID of the messaging connection to use.
          - `mode` 'discover' | 'preset', required — The execution mode.
          - `phoneNumbers` object[], required — List of phone numbers for preset mode. Can be an empty array for discover mode.
            - `ddi` string, required — The DDI of the phone number.
            - `phoneNumber` string, required — The phone number to send the message to including the state prefix.
          - `sendMode` 'text' | 'text-with-template-fallback' | 'template', required — The message sending mode.
          - `template` object
            - `body` object
              - …
            - `buttons` object
              - …
            - `category` 'AUTHENTICATION' | 'MARKETING' | 'UTILITY' | 'null', nullable
            - `footer` string
            - `header` object
              - …
            - `language` string, required
            - `name` string, required
          - `templatePayloadSchema` object — A JSON Schema definition object
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `type` 'message-dispatch', required
        - object
          - `llmProviderId` string, uuid, nullable, required — Optional LLM provider ID to be used in this tool call.
          - `model` 'gpt-image-1' | 'gpt-image-2', required — OpenAI image model to use for this tool call.
          - `prompt` string, nullable, required — Prompt to be prepended to image generation calls.
          - `provider` 'openai', required — Image generation provider to use for this tool call.
          - `type` 'image-generation', required
        - object
          - `llmProviderId` string, uuid, nullable, required — Optional LLM provider ID to be used in this tool call.
          - `model` 'gemini-3.1-flash-image' | 'gemini-3-pro-image', required — Gemini image model to use for this tool call.
          - `prompt` string, nullable, required — Prompt to be prepended to image generation calls.
          - `provider` 'google-ai', required — Image generation provider to use for this tool call.
          - `type` 'image-generation', required
        - object
          - `delay` integer, nullable, required — An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received.
          - `event` string, required — The name of the client-side event to listen for.
          - `mock` object, required — Optional mock configuration for testing purposes.
            - `delay` integer, nullable, required — An optional delay in milliseconds before returning the mock response when testing.
            - `response` object, nullable, required — An optional mock response to be returned when testing.
          - `parameters` object, required — The JSON schema of the parameters to pass with the event.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `payload` string, nullable, required — An optional payload to bind parameters to.
          - `timeout` integer, nullable, required — The maximum time in milliseconds to wait for a response before timing out.
          - `type` 'client-side-call', required
          - `waitResponse` boolean, required — Whether to wait for a response after emitting the event.
      - `name` string, required — The display name of the tool.
      - `workspaceId` string, uuid, required — The workspace ID that owns the tool.
      - `agentTools` object[], required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
        - `agentId` string, uuid, required — The id of the agent to link the tool to.
        - `toolId` string, uuid, required — The id of the tool to link to the agent.
        - `agent` object, required
          - `createdAt` string, date-time, required
          - `id` string, uuid, required — A UUID v4 string that identifies an entity.
          - `isRemoved` boolean, required
          - `referenceId` string, uuid, nullable, required — The ID of the original entity in production.
          - `updatedAt` string, date-time, required
          - `versionId` string, uuid, required — A UUID v4 string that identifies an entity.
          - `codeRuntime` boolean, required — Whether the agent should be able to execute JavaScript code using the Code Runtime tool.
          - `internalName` string, nullable, required — The internal name of the agent. For internal use only.
          - `iterations` number, required — The number of iterations (steps) the agent can execute in a single execution.
          - `llm` 'claude-haiku-4-5' | 'claude-opus-4-8' | 'claude-opus-4-6' | 'claude-opus-4-5' | 'claude-sonnet-4-6' | 'claude-sonnet-4-5' | 'gpt-5.2' | 'gpt-5.5' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gemini-2.5-flash' | 'gemini-2.5-pro' | 'gemini-3.5-flash' | 'gemini-3-flash' | 'gemini-3-pro' | 'gemini-3.1-pro' | 'kimi-k2.5' | 'kimi-k2.6' | 'grok-4.3' | 'grok-4.5', required — The LLM model key to use for the agent.
          - `llmProviderId` string, uuid, nullable, required — The id of the LLM provider to use for the agent.
          - `name` string, required — The name of the agent.
          - `picture` string, nullable, required — The picture of the agent.
          - `planning` boolean, required — Whether the agent should plan before each execution.
          - `prompt` string, required — The main description of the agent's behavior.
          - `reasoningMode` 'low' | 'medium' | 'high' | 'xhigh' | 'null', nullable, required — The reasoning mode to use for the agent. If null, reasoning will be disabled.
          - `role` string, required — The role of the agent. Particularly useful to give other agents context of what the agent does.
          - `superIdentityId` string, uuid, required — The super identity ID associated with the agent.
          - `temperature` number, required — The temperature to use for the agent. The lower the more deterministic. The higher the more creative.
          - `timezone` 'Africa/Cairo' | 'Africa/Johannesburg' | 'America/Chicago' | 'America/Denver' | 'America/Los_Angeles' | 'America/New_York' | 'America/Sao_Paulo' | 'America/Manaus' | 'Asia/Dubai' | 'Asia/Kolkata' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Tokyo' | 'Australia/Sydney' | 'Europe/Berlin' | 'Europe/London' | 'Europe/Moscow' | 'Europe/Paris' | 'Pacific/Auckland' | 'Pacific/Auckland2' | 'UTC' | 'auto' | 'null', nullable, required — The timezone to use for the agent. If null, no timezone will be used.
          - `toolCount` integer, required — The number of tools currently associated with the agent.
          - `voiceId` string, uuid, nullable, required — The TTS voice to use for audio responses. Null when disabled for the agent.
          - `workspaceId` string, uuid, required — The workspace ID that owns the agent.
    - object
      - `createdAt` string, date-time, required
      - `id` string, uuid, required — A UUID v4 string that identifies an entity.
      - `isRemoved` boolean, required
      - `referenceId` string, uuid, nullable, required — The ID of the original entity in production.
      - `updatedAt` string, date-time, required
      - `versionId` string, uuid, required — A UUID v4 string that identifies an entity.
      - `description` string, required — The internal description of the tool.
      - `detail` union, required
        - object
          - `allowedDomains` string[], required — List of domains allowed in web search results.
          - `effort` 'low' | 'medium' | 'high', required — Web search effort level.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `llmProviderId` string, uuid, nullable, required — Optional OpenAI LLM provider ID to be used in this tool call.
          - `prompt` string, nullable, required — Prompt to be appended alongside queries to instruct the LLM call.
          - `type` 'agentic-web-search', required
        - object
          - `body` string, nullable, required — The body of the HTTP request as JSON string.
          - `headers` string, nullable, required — The headers of the HTTP request as JSON string.
          - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', required
          - `parameters` object, required — The JSON Schema definition of the parameters that will be passed to the HTTP request.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `query` string, nullable, required — The query parameters of the HTTP request as JSON string.
          - `type` 'http-request', required
          - `url` string, uri, required — The URL to send the HTTP request to. Should not contain query parameters.
        - object
          - `code` string, required — The code to be executed. Must contain a function named main that takes no parameters.
          - `parameters` object, required — The JSON Schema definition of the parameters that will be passed to the code execution tool.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `type` 'code-execution', required
        - object
          - `parameters` object, required — The JSON Schema definition of the parameters containing the description of the memory to be stored.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `sensitiveParameters` string[], required — Wheter the parameters are sensitive and should not be shown.
          - `type` 'contextual-memory', required
        - object
          - `datasetId` string, uuid, nullable, required — The id of the dataset to search in.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `mode` 'scoped' | 'global', required — The mode of the dataset search.
          - `type` 'dataset-search', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to update the row in.
          - `type` 'datagrid-row-update', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to insert the row into.
          - `type` 'datagrid-row-insertion', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to search the row in.
          - `execution` 'eligible' | 'compulsory', required — Whether the search should always be executed or only if the agent decides to do it.
          - `results` number, required — The number of results to return to the agent.
          - `type` 'datagrid-row-semantic-search', required
        - object
          - `datagridId` string, uuid, nullable, required — The id of the datagrid to search the row in.
          - `results` number, required — The number of results to return to the agent.
          - `type` 'datagrid-row-similarity-search', required
        - object
          - `tagging` object, required — Tagging configuration for tickets.
            - `allowedIds` string[], required
            - `status` 'enabled' | 'disabled', required
          - `ticketingTeamId` string, uuid, nullable, required — The id of the ticketing team responsible for the ticket.
          - `type` 'ticket-creation', required
        - object
          - `tagging` object, required — Tagging configuration for chats.
            - `allowedIds` string[], required
            - `status` 'enabled' | 'disabled', required
          - `type` 'chat-tagging', required
        - object
          - `path` string, nullable, required — The path of the trigger to the workflow implementation to execute.
          - `type` 'workflow-executor', required
        - object
          - `file` string, required
          - `fileName` string, required — The name of the PDF file.
          - `type` 'pdf-reader', required
        - object
          - `execution` 'eligible' | 'compulsory', required
          - `fallback` object, nullable, required
            - `prompt` string, required
          - `options` object[], required
            - `condition` string, required
            - `label` string, required
            - `prompt` string, required
          - `type` 'follow-up', required
        - object
          - `connectionId` string, uuid, required — The ID of the messaging connection to use.
          - `mode` 'discover' | 'preset', required — The execution mode.
          - `phoneNumbers` object[], required — List of phone numbers for preset mode. Can be an empty array for discover mode.
            - `ddi` string, required — The DDI of the phone number.
            - `phoneNumber` string, required — The phone number to send the message to including the state prefix.
          - `sendMode` 'text' | 'text-with-template-fallback' | 'template', required — The message sending mode.
          - `template` object
            - `body` object
              - …
            - `buttons` object
              - …
            - `category` 'AUTHENTICATION' | 'MARKETING' | 'UTILITY' | 'null', nullable
            - `footer` string
            - `header` object
              - …
            - `language` string, required
            - `name` string, required
          - `templatePayloadSchema` object — A JSON Schema definition object
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `type` 'message-dispatch', required
        - object
          - `llmProviderId` string, uuid, nullable, required — Optional LLM provider ID to be used in this tool call.
          - `model` 'gpt-image-1' | 'gpt-image-2', required — OpenAI image model to use for this tool call.
          - `prompt` string, nullable, required — Prompt to be prepended to image generation calls.
          - `provider` 'openai', required — Image generation provider to use for this tool call.
          - `type` 'image-generation', required
        - object
          - `llmProviderId` string, uuid, nullable, required — Optional LLM provider ID to be used in this tool call.
          - `model` 'gemini-3.1-flash-image' | 'gemini-3-pro-image', required — Gemini image model to use for this tool call.
          - `prompt` string, nullable, required — Prompt to be prepended to image generation calls.
          - `provider` 'google-ai', required — Image generation provider to use for this tool call.
          - `type` 'image-generation', required
        - object
          - `delay` integer, nullable, required — An optional delay in milliseconds to be waited after the event is emitted and, if applicable, a response is received.
          - `event` string, required — The name of the client-side event to listen for.
          - `mock` object, required — Optional mock configuration for testing purposes.
            - `delay` integer, nullable, required — An optional delay in milliseconds before returning the mock response when testing.
            - `response` object, nullable, required — An optional mock response to be returned when testing.
          - `parameters` object, required — The JSON schema of the parameters to pass with the event.
            - `properties` object, required
            - `required` string[]
            - `type` 'object', required
          - `payload` string, nullable, required — An optional payload to bind parameters to.
          - `timeout` integer, nullable, required — The maximum time in milliseconds to wait for a response before timing out.
          - `type` 'client-side-call', required
          - `waitResponse` boolean, required — Whether to wait for a response after emitting the event.
      - `name` string, required — The display name of the tool.
      - `workspaceId` string, uuid, required — The workspace ID that owns the tool.

## Other responses

- `401` — Unauthorized.

---

[API](https://skmtc.dev/zaia/apis/public-api.md) · [All operations](https://skmtc.dev/zaia/apis/public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zaia/public-api/revisions/58da3b2ba49f/schema)
