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

# List Webhooks

`GET /webhooks`

Returns a paginated list of webhook endpoints configured for an account, ordered by most recently created.

## Query parameters

- `account_id` string, required
- `app_id` string
- `first` integer
- `after` string
- `last` integer
- `before` string

## Response `200`

webhooks listed

- object
  - `data` WebhookListItem[], required
    - `api_version` 'v1' | 'v2' | 'v5', required — The API version used to format payloads sent to this webhook endpoint.
    - `api_version_date` string, nullable, required — The dated API version (Api-Version-Date) that v1 payloads for this endpoint are pinned to: events serialize exactly like a REST read at this version (the native serializer where the resource has one). Null when unpinned — legacy (v2/v5) webhooks, and v1 webhooks on the legacy payload shape.
    - `child_resource_events` boolean, required — Whether events are sent for child resources. For example, if the webhook is on an account, enabling this sends events only from its connected accounts.
    - `created_at` string, required — When the webhook was created, as an ISO 8601 timestamp.
    - `enabled` boolean, required — Whether this webhook endpoint is currently active and receiving events.
    - `events` string[], required
    - `id` string, required — Webhook ID, prefixed `hook_`.
    - `resource_id` string, required — ID of the resource (account or app) this webhook is attached to.
    - `url` string, required — Destination URL where webhook payloads are delivered via HTTP POST.
    - `webhook_secret` string, nullable, required — Secret key used to sign webhook payloads for verification. Include this in your HMAC validation logic. Returned on the create response and to interactive dashboard sessions; `null` for API-key and OAuth callers on later reads.
  - `page_info` object, required
    - `end_cursor` string, nullable, required
    - `has_next_page` boolean, required
    - `has_previous_page` boolean, required
    - `start_cursor` string, nullable, required

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found

## Changes

- **2026-07-31** `099fdc3be422` — 56 warning, 1 info
  - added the new `app_membership.cancel_at_period_end_changed` enum value to the `data/items/events/items/` response property for the response status `200`
  - added the new `app_membership.went_invalid` enum value to the `data/items/events/items/` response property for the response status `200`
  - added the new `app_membership.went_valid` enum value to the `data/items/events/items/` response property for the response status `200`
  - added the new `app_payment.created` enum value to the `data/items/events/items/` response property for the response status `200`
  - …53 more
- **2026-07-26** `60bbb4a6ffbc` — 2 breaking, 9 warning, 49 info
  - added the new required `query` request parameter `account_id`
  - the `data/items/created_at` response's property type/format changed from `string`/`date-time` to `string`/`` for status `200`
  - deleted the `query` request parameter `company_id`
  - removed the optional property `error/code` from the response with the `400` status
  - …56 more

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/webhooks/get.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/72ff51b37dc4/schema)
