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

# List Webhook Subscriptions

> Retrieve webhook subscriptions for the current workspace.

## Method

`GET` `/v1/webhooks/subscriptions`

## Headers

<ParamField header="Authorization" type="string">Bearer token (requires `webhooks:read`).</ParamField>

## Request Example

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.voyantcloud.com/v1/webhooks/subscriptions" \
    -H "Authorization: Bearer $VOYANT_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const res = await fetch("https://api.voyantcloud.com/v1/webhooks/subscriptions", {
    headers: { Authorization: `Bearer ${process.env.VOYANT_API_KEY}` },
  })
  const { data } = await res.json()
  ```

  ```python Python theme={null}
  import os, requests

  resp = requests.get(
    "https://api.voyantcloud.com/v1/webhooks/subscriptions",
    headers={"Authorization": f"Bearer {os.environ['VOYANT_API_KEY']}"},
  )
  subscriptions = resp.json()["data"]
  ```
</RequestExample>

## Response Example

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "whsub_01J0J3Y3TFX2V22Y7DQ0A6J5G5",
        "workspace_id": "ws_4a82d5bd-3330-4ad3-bf46-1b6a9a5d5d6a",
        "url": "https://example.com/webhooks/voyant",
        "events": ["product.*", "booking.created"],
        "active": true,
        "max_retries": 5,
        "headers": {"x-env": "production"},
        "description": "Primary catalog listener",
        "created_at": "2025-03-01T09:12:33.000Z",
        "updated_at": "2025-03-01T09:12:33.000Z",
        "last_delivery_at": "2025-03-05T07:01:11.000Z",
        "failure_count": 0
      }
    ]
  }
  ```
</ResponseExample>

<Tip>
  Listing subscriptions warms the control-plane cache. Subsequent deliveries use the cached configuration for faster fan-out.
</Tip>
