> ## Documentation Index
> Fetch the complete documentation index at: https://docs.knoxcall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Webhooks

> Returns all webhooks configured in your tenant

## List Webhooks

```text theme={"dark"}
GET /v1/webhooks
```

Returns all webhooks in your tenant.

### Query Parameters

| Parameter  | Type    | Default      | Description                                 |
| ---------- | ------- | ------------ | ------------------------------------------- |
| `page`     | integer | `1`          | Page number                                 |
| `per_page` | integer | `20`         | Items per page (max 100)                    |
| `sort`     | string  | `created_at` | Sort by: `created_at`, `name`, or `enabled` |
| `order`    | string  | `desc`       | Sort direction: `asc` or `desc`             |

### Response

```json theme={"dark"}
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Error Notifications",
      "description": "Notify Slack on 5xx errors",
      "url": "https://hooks.slack.com/services/T00/B00/xxx",
      "method": "POST",
      "event_types": ["request.error", "request.timeout"],
      "auth_type": "none",
      "enabled": true,
      "last_triggered_at": "2026-03-10T14:22:01.000Z",
      "trigger_count": 142,
      "success_count": 140,
      "failure_count": 2,
      "created_at": "2026-01-20T10:00:00.000Z"
    }
  ],
  "meta": {
    "total": 5,
    "page": 1,
    "per_page": 20,
    "total_pages": 1,
    "request_id": "550e8400-e29b-41d4-a716-446655440000"
  }
}
```

<CodeGroup>
  ```bash cURL theme={"dark"}
  curl https://api.knoxcall.com/v1/webhooks \
    -H "Authorization: Bearer tk_live_abc123..."
  ```

  ```python Python theme={"dark"}
  import requests

  resp = requests.get(
      "https://api.knoxcall.com/v1/webhooks",
      headers={"Authorization": "Bearer tk_live_abc123..."}
  )
  webhooks = resp.json()["data"]
  ```

  ```javascript Node.js theme={"dark"}
  const resp = await fetch("https://api.knoxcall.com/v1/webhooks", {
    headers: { Authorization: "Bearer tk_live_abc123..." }
  });
  const { data: webhooks } = await resp.json();
  ```
</CodeGroup>

### Errors

| Status | Type             | Description                                             |
| ------ | ---------------- | ------------------------------------------------------- |
| 403    | `forbidden`      | The API key's policy does not grant `read` on `webhook` |
| 500    | `internal_error` | Failed to list webhooks                                 |
