---
title: "List Tools"
method: GET
path: "/v1/integrations/{integrationId}/tools"
tags: ["Integration Tools"]
---

# List Tools

`GET /v1/integrations/{integrationId}/tools`

Returns a paginated list of tools registered under an integration, sorted by most recently created first. Use the status parameter to filter by tool state. Use page and size to navigate through results.

## Path parameters

- `integrationId` string, required

## Query parameters

- `status` string
- `page` integer
- `size` integer

## Response `200`

OK

- PaginatedResponseIntegrationToolResponse — Standard wrapper for paginated API responses. Use this when returning list data that is split across multiple pages. Includes the current page of results along with pagination metadata to help clients navigate through large datasets efficiently.
  - `data` IntegrationToolResponse[] — List of items for the current page. Contains up to 'size' number of records.
    - `toolId` string — Unique identifier for this tool. Use this value as toolId when executing, updating, or deleting this tool.
    - `integrationId` string — Unique identifier of the integration this tool belongs to. Use this value as integrationId when making requests scoped to the parent integration.
    - `name` string — Action-oriented name for this tool that identifies the operation it performs. AI agents use this name to match a task to the correct tool. Follows snake_case convention (e.g., 'get_customer', 'create_order').
    - `description` string — Explanation of what this tool does and when an AI agent should invoke it. Agents rely on this description to decide whether this tool matches the current task. A good description names the action, the resource it operates on, and required inputs.
    - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' — HTTP method used when invoking this tool's endpoint. GET retrieves a resource without side effects. POST creates a new resource. PUT fully replaces an existing resource. PATCH partially updates an existing resource. DELETE removes a resource.
    - `url` string — Full URL of the API endpoint this tool calls, including any {{variable}} placeholders that the agent resolves at runtime using the declared parameters. Path segments wrapped in {{}} (e.g., {{orderId}}) are substituted before the request is sent.
    - `scope` 'local' | 'community' — Visibility scope of this tool. 'local' means the tool is private to your account and only accessible within your integrations. 'community' means the tool is shared and discoverable by other users.
    - `headers` JsonNode — Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
    - `queryParams` JsonNode — Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
    - `bodyParams` JsonNode — Dynamic key-value pairs that were passed to the agent at call start for personalisation. Keys correspond to variable names defined in the agent's configuration (e.g., 'customer_name', 'account_id'). Null or empty if no dynamic variables were provided when the call was created.
    - `createdAt` string, date-time — UTC timestamp when this tool was created, in ISO 8601 format. Use for auditing or determining how long the tool has been active.
    - `updatedAt` string, date-time — UTC timestamp when this tool was last modified, in ISO 8601 format. Use to detect configuration changes or invalidate cached tool definitions.
  - `page` integer — Current page number (0-based index). Indicates which page of results is being returned.
  - `size` integer — Number of items requested per page. Determines the maximum size of the 'data' list.
  - `totalCount` integer — Total number of records available across all pages. Useful for calculating pagination on the client side.
  - `totalPages` integer — Total number of pages available based on totalCounts and size. Helps clients understand how many pages exist in total.
  - `hasNext` boolean — Indicates whether there is a next page available after the current one. Useful for implementing 'Load More' or next navigation.
  - `hasPrevious` boolean — Indicates whether there is a previous page before the current one. Useful for enabling backward navigation.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/sigmamind/apis/sigmamind-apis.md) · [All operations](https://skmtc.net/sigmamind/apis/sigmamind-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sigmamind/sigmamind-apis/revisions/d00f52b5123f/schema)
