---
title: "List webhook subscriptions"
method: GET
path: "/v1/webhooks"
tags: ["Webhooks"]
---

# List webhook subscriptions

`GET /v1/webhooks`

## Request

- Base URL: `https://crowdintel.xyz/api`
- URL: `https://crowdintel.xyz/api/v1/webhooks`
- Auth: HTTP bearer

**Min tier: `free`.** Every subscription owned by the caller's account, newest first, with `secret` redacted to `null`.

This collection is **not** cursor-paginated and does not use the `{ data, next_cursor }` envelope — it returns `{ "webhooks": [...] }`, bounded by the 10-per-account cap.

## Response `200`

The caller's subscriptions (secrets redacted).

- object
  - `webhooks` Webhook[], required
    - `id` integer, required
    - `callback_url` string, uri, required
    - `filters` WebhookFilters, required: Stored filters. An empty object matches every signal.
      - `min_score` number
      - `score_type` 'whale' | 'insider'
      - `category` string
    - `active` boolean, required
    - `secret` unknown, required
    - `last_fired_at` string, date-time, nullable
    - `last_failed_at` string, date-time, nullable
    - `created_at` string, date-time, required

## Other responses

- `401`: Missing, invalid, or revoked API key. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `403`: Key valid but its tier is below this endpoint's minimum. Returned before the rate limiter runs, so it carries no `X-RateLimit-*` headers.
- `429`: Hourly or monthly rate limit exceeded.

---

[API](https://skmtc.dev/crowdintel/apis/crowdintel-api.md) · [All operations](https://skmtc.dev/crowdintel/apis/crowdintel-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crowdintel/apis/crowdintel-api/revisions/7059cfe9320d?raw)
