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

# List Webhook Endpoints

> Returns a cursor-paginated list of your webhook endpoints.

Requires the `webhooks:read` scope. The signing `secret` is never returned here — it is only shown once, when the endpoint is [created](/api-reference/webhooks/create).

### Query parameters

<ParamField query="page_size" type="number" default="100">
  The number of endpoints to return per page.
</ParamField>

<ParamField query="cursor" type="string">
  The pagination cursor from a previous response's `next_cursor`. See [Pagination](/pagination).
</ParamField>

### Response

<ResponseField name="data" type="array">
  The page of webhook endpoints.

  <Expandable title="properties">
    <Snippet file="webhooks/endpoint-fields.mdx" />
  </Expandable>
</ResponseField>

<ResponseField name="has_more" type="boolean">
  Whether more endpoints exist after this page.
</ResponseField>

<ResponseField name="next_cursor" type="string or null">
  The cursor to pass as `?cursor=` to fetch the next page.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request GET 'https://api.audienceful.com/v2/webhooks' \
  --header 'X-Api-Key: <your-api-key>'
  ```

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

  url = "https://api.audienceful.com/v2/webhooks"
  headers = {
      "X-Api-Key": "<your-api-key>",
  }

  response = requests.get(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.audienceful.com/v2/webhooks", {
    method: "GET",
    headers: {
      "X-Api-Key": "<your-api-key>",
    },
  });
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": [
      {
        "id": "wYt3nKq8Zs4pLm9vRb2xJc",
        "url": "https://example.com/webhooks/audienceful",
        "events": ["person.created", "person.updated"],
        "is_active": true,
        "disabled_reason": null,
        "disabled_at": null,
        "consecutive_failures": 0,
        "created_at": "2026-07-04T12:00:00Z",
        "updated_at": "2026-07-04T12:00:00Z"
      }
    ],
    "has_more": false,
    "next_cursor": null
  }
  ```
</ResponseExample>
