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

# Tool catalog

`GET /api/v1/tools`

## Request

- Base URL: `https://awraiter.ai`
- URL: `https://awraiter.ai/api/v1/tools`
- Auth: HTTP bearer

Every tool available to this token with its method, path, input and output schema. A read-only token does not see write tools.

## Response `200`

The catalog.

- ToolCatalog
  - `ok` unknown, required
  - `data` object, required
    - `tools` object[], required
      - `name` string, required
      - `title` string
      - `description` string, required
      - `method` 'GET' | 'POST', required
      - `path` string, required
      - `inputSchema` object, required
      - `outputSchema` object
      - `annotations` ToolAnnotations, required
        - `title` string
        - `readOnlyHint` boolean, required
        - `destructiveHint` boolean
        - `idempotentHint` boolean
        - `openWorldHint` boolean

## Other responses

- `401`: No or unknown token (`unauthorized`). The `WWW-Authenticate` header points at the OAuth resource metadata.
- `403`: Read-only token on a write tool (`read_only_token`), channel outside the team or the member's ACL (`channel_not_accessible`), channel over the plan limit (`channel_over_plan_limit`), or the user left the team (`not_team_member`).
- `429`: Rate limit (`rate_limited`, see `Retry-After`), AI quota (`ai_quota_exhausted`) or the daily agent-job budget (`agent_budget_exhausted`).

---

[API](https://skmtc.dev/awraiter/apis/awraiter-rest-v1.md) · [All operations](https://skmtc.dev/awraiter/apis/awraiter-rest-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/awraiter/apis/awraiter-rest-v1/revisions/c16dace566cf?raw)
