Webhooks

Update Webhook

Updates a webhook endpoint's URL, subscribed events, pinned payload version, or enabled state.

patch/webhooks/{id}

Request body

api_version_datestring nullable

The dated API version (Api-Version-Date) to pin this webhook's payloads to. Only valid for v1 webhooks. Omit to leave the current pin unchanged, or pass null to unpin and track the current payload shape.

child_resource_eventsboolean

Whether or not to send events for child resources.

enabledboolean

Whether or not the webhook is enabled.

eventsstring[]

The events to send the webhook for, in dot form (for example payment.succeeded).

urlstring

The URL to send the webhook to.

Example request

{
  "api_version_date": "2026-01-01",
  "child_resource_events": true,
  "events": [
    "payment.failed"
  ],
  "url": "https://example.com/shine-time/whop-updated"
}

Response

webhook updated

api_version'v1' | 'v2' | 'v5' required

The API version used to format payloads sent to this webhook endpoint.

api_version_datestring 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_eventsboolean 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.

consecutive_failuresinteger required

Number of consecutive deliveries whose first attempt to this endpoint failed since it last accepted one. Later retries of the same delivery do not increment it. Resets to 0 when a delivery succeeds or the webhook is re-enabled.

created_atstring required

When the webhook was created, as an ISO 8601 timestamp.

disabled_atstring nullable required

When Whop automatically disabled this webhook, as an ISO 8601 timestamp. null unless the webhook was disabled by Whop; a webhook you disabled yourself has enabled: false and a null disabled_at.

disabled_reason'delivery_failures' | 'null' nullable required

Why Whop disabled this webhook. delivery_failures means every delivery failed for 3 days straight. null when disabled_at is null.

enabledboolean required

Whether this webhook endpoint is currently active and receiving events.

eventsstring[] required
failing_sincestring nullable required

When the current failure streak began, as an ISO 8601 timestamp. Unlike last_failure_at, this is set on the streak's first failed attempt, so it shows an endpoint that is failing right now. null when the endpoint is healthy.

idstring required

Webhook ID, prefixed hook_.

last_failure_atstring nullable required

When a delivery to this endpoint most recently failed after exhausting retries, as an ISO 8601 timestamp. null if no delivery has ever failed.

resource_idstring required

ID of the resource (account or app) this webhook is attached to.

testable_eventsstring[] required
urlstring required

Destination URL where webhook payloads are delivered via HTTP POST.

webhook_secretstring 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.

Example response

{
  "api_version": "v1",
  "api_version_date": "2026-01-01",
  "consecutive_failures": 9,
  "created_at": "2026-01-01T12:00:00.000Z",
  "disabled_at": "2026-01-01T12:00:00.000Z",
  "disabled_reason": "delivery_failures",
  "events": [
    "payment.succeeded"
  ],
  "failing_since": "2026-01-01T12:00:00.000Z",
  "id": "hook_xxxxxxxxxxxxxx",
  "last_failure_at": "2026-01-01T12:00:00.000Z",
  "resource_id": "biz_xxxxxxxxxxxxxx",
  "testable_events": [
    "account.updated"
  ],
  "url": "https://example.com/hooks",
  "webhook_secret": "ws_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Changes

Changed in 20 of the 74 revisions of this API.97216230

    • ▲

      removed the enum value app_membership.cancel_at_period_end_changed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_membership.went_invalid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_membership.went_valid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_membership_cancel_at_period_end_changed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_membership_went_invalid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_membership_went_valid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment.created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment.failed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment.pending of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment.requires_action of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment.succeeded of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment_failed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment_pending of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment_requires_action of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value app_payment_succeeded of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value dispute_alert_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value dispute_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value dispute_updated of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership.experience_claimed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership.metadata_updated of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership.went_invalid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership.went_valid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership_cancel_at_period_end_changed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership_experience_claimed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership_metadata_updated of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership_went_invalid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value membership_went_valid of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment.affiliate_reward_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_affiliate_reward_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_failed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_pending of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_requires_action of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value payment_succeeded of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value refund_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value refund_updated of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution.created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution.decided of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution.updated of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution_created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution_decided of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value resolution_updated of the request property /

      request-property-enum-value-removed

  • 355991ab86d523See the full diff
    • ●

      added the new app_payment.requires_action enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new app_payment.requires_action enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new app_payment.requires_action enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new app_payment_requires_action enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new payment_requires_action enum value to the request property /

      request-property-enum-value-added

  • ef86d14ef69121See the full diff
    • ●

      added the new payment.requires_action enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payment.requires_action enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new payment.requires_action enum value to the request property /

      request-property-enum-value-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 1660b8d6220421See the full diff
    • ●

      added the new financial_activity.funds_available enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new financial_activity.funds_available enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new financial_activity.funds_available enum value to the request property /

      request-property-enum-value-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new member.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new member.updated enum value to the / response property for the response status

      response-property-enum-value-added

    This revision's changelog hit the recording limit, so it may not list every change to this endpoint.

    This revision also has 6 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new account.financing_approved enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new account.financing_approved enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new account.financing_denied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new account.financing_denied enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new account.financing_approved enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new account.financing_denied enum value to the request property /

      request-property-enum-value-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new ad.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ad.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ad_campaign.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ad_campaign.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new ad.updated enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new ad_campaign.updated enum value to the request property /

      request-property-enum-value-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 16c82685be3542See the full diff
    • ●

      added the new payment.authorized enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payment.authorized enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payment.canceled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payment.canceled enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new payment.authorized enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new payment.canceled enum value to the request property /

      request-property-enum-value-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • 621705ee8f4a363See the full diff
    • ▲

      removed the enum value withdrawal.created of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value withdrawal.reversed of the request property /

      request-property-enum-value-removed

    • ▲

      removed the enum value withdrawal.updated of the request property /

      request-property-enum-value-removed

    • ●

      added the new payout.created enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payout.created enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payout.reversed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payout.reversed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payout.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payout.updated enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new payout.created enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new payout.reversed enum value to the request property /

      request-property-enum-value-added

    • ○

      added the new payout.updated enum value to the request property /

      request-property-enum-value-added

    This revision also has 6 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

  • f1cf47ad0ec221See the full diff
    • ●

      added the new withdrawal.reversed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new withdrawal.reversed enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new withdrawal.reversed enum value to the request property /

      request-property-enum-value-added

    This revision also has 1 change that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

Of the 74 revisions, 1 has no diff computed.