# List tools Browse the published tools accessible to the current credential. ## Endpoint Follow nextCursor with the same providerId, category, account and tool access. You can change limit between pages. A null nextCursor marks the last page. If the API returns 422 invalid_cursor, omit cursor and start from the first page. Inspect a tool before using its inputs or price. ``` GET /v1/tools ``` ## Parameters | Name | Location | Type | Required | Constraints | | --- | --- | --- | --- | --- | | cursor | query | string | Optional | — | | limit | query | integer | Optional | Minimum: 1; Maximum: 100; Default: 20 | | providerId | query | string | Optional | — | | category | query | string | Optional | — | ## Request example Set PURRKEY_API_KEY in your trusted server or terminal environment. Replace any angle-bracket placeholders with values from your own inspection or Run. ``` curl --fail-with-body --request GET 'https://api.purrkey.app/v1/tools' \ -H "Authorization: Bearer $PURRKEY_API_KEY" ``` ## Successful response Success HTTP status: 200. Top-level response fields are listed below. Conditional and nested requirements are defined in the downloadable OpenAPI contract. | Field | Type | Required | Constraints | | --- | --- | --- | --- | | items | object[] | Required | — | | nextCursor | string \| null | Required | — | | catalogVersion | string | Required | — | ## Errors and related reading - [Error handling](/docs/guides/errors): Read requestId, business codes and safe retry behavior. - [Download OpenAPI](/docs/openapi.yaml): The complete HTTP contract, version 0.4.3.