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

# List Webhooks

> Lists your webhook endpoints

Available on agency plans. The API token must belong to the agency owner.

Secrets are never included; they are only returned when a webhook is [created](/docs/api-reference/agency/create-webhook).

## Headers

| Name            | Type   | Description        |
| --------------- | ------ | ------------------ |
| Accept\*        | String | application/json   |
| Authorization\* | String | Bearer {api_token} |

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.sitespeak.ai/v1/agency/webhooks" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer YOUR_API_TOKEN"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.sitespeak.ai/v1/agency/webhooks', {
    headers: {
      'Accept': 'application/json',
      'Authorization': 'Bearer YOUR_API_TOKEN'
    }
  });

  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

## Response

<Tabs>
  <Tab title="200 Success">
    ```json theme={null}
    {
      "webhooks": [
        {
          "id": "4e1d795f-16b5-412a-b324-5f34779829a7",
          "team_id": "92754e3f-c05a-401e-9436-112990d0ce04",
          "url": "https://yourapp.com/webhooks/sitespeak",
          "events": null,
          "active": true,
          "created_at": "2026-08-18T11:41:52.000000Z",
          "updated_at": "2026-08-18T11:41:52.000000Z"
        }
      ],
      "events": ["lead.captured", "escalation.created"]
    }
    ```
  </Tab>
</Tabs>

A `null` events value means the webhook receives all events.
