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

# List Webhook Endpoints

> Retrieve a paginated list of webhook endpoints for a customer

<Note>
  The list includes deleted endpoints. An endpoint is active when `deleted_at` is `null`.
  Signing secrets are never included.
</Note>

## Path Parameters

<ParamField path="customer_id" type="string" required>
  The customer's external ID (starts with `cus_`)
</ParamField>

## Query Parameters

<ParamField query="page" type="integer" default="1">
  Page number (minimum 1)
</ParamField>

<ParamField query="size" type="integer" default="10">
  Number of endpoints per page (1-100)
</ParamField>

## Response

<ResponseField name="items" type="array">
  Webhook endpoints in the current page

  <Expandable title="Webhook Endpoint Fields">
    <ResponseField name="id" type="string">
      Webhook endpoint identifier (starts with `wh_`)
    </ResponseField>

    <ResponseField name="object" type="string">
      Always returns `"webhook_endpoint"`
    </ResponseField>

    <ResponseField name="url" type="string">
      Webhook delivery URL
    </ResponseField>

    <ResponseField name="events" type="array">
      Subscribed event types
    </ResponseField>

    <ResponseField name="description" type="string">
      Webhook description, or `null`
    </ResponseField>

    <ResponseField name="created" type="string">
      ISO 8601 creation timestamp
    </ResponseField>

    <ResponseField name="updated" type="string">
      ISO 8601 last-update timestamp
    </ResponseField>

    <ResponseField name="created_by" type="string">
      Identifier of the actor that created the endpoint, or `null`
    </ResponseField>

    <ResponseField name="updated_by" type="string">
      Identifier of the actor that last updated the endpoint, or `null`
    </ResponseField>

    <ResponseField name="last_used_at" type="string">
      Timestamp of the most recent successful delivery, or `null`
    </ResponseField>

    <ResponseField name="deleted_at" type="string">
      Deletion timestamp, or `null` when the endpoint is active
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="page" type="integer">
  Current page number
</ResponseField>

<ResponseField name="size" type="integer">
  Number of items requested per page
</ResponseField>

<ResponseField name="total" type="integer">
  Total number of endpoints, including deleted endpoints
</ResponseField>

<ResponseField name="pages" type="integer">
  Total number of pages
</ResponseField>

## Response Example

```json theme={null}
{
  "items": [
    {
      "id": "wh_1234567890abcdefghijklmn",
      "object": "webhook_endpoint",
      "url": "https://api.mycompany.com/webhooks/hopnow",
      "events": ["deposit.received", "withdraw.completed"],
      "description": "Production webhook",
      "created": "2026-07-15T02:00:00Z",
      "updated": "2026-07-15T02:00:00Z",
      "created_by": null,
      "updated_by": null,
      "last_used_at": null,
      "deleted_at": null
    },
    {
      "id": "wh_fedcba098765zyxwvutsrqpo",
      "object": "webhook_endpoint",
      "url": "https://archive.mycompany.com/webhooks",
      "events": ["account.updated"],
      "description": "Retired endpoint",
      "created": "2026-06-01T00:00:00Z",
      "updated": "2026-07-01T00:00:00Z",
      "created_by": null,
      "updated_by": null,
      "last_used_at": null,
      "deleted_at": "2026-07-01T00:00:00Z"
    }
  ],
  "page": 1,
  "size": 10,
  "total": 2,
  "pages": 1
}
```
