MemberPress · AsyncAPI Specification

Memberpress Webhooks

Version

View Spec View on GitHub CompanyMembershipSubscriptionsWordPressPaymentsE-CommerceCoursesContent ManagementWebhooksMCPAsyncAPIWebhooksEvents

AsyncAPI Specification

Raw ↑
generated: '2026-08-12'
method: searched
source: https://github.com/caseproof/memberpress-rest-api-documentation#webhook-integration
docs:
- https://github.com/caseproof/memberpress-rest-api-documentation#webhook-integration
- https://memberpress.com/docs/overview-of-using-the-developer-tools/
asyncapi_published: false
asyncapi_note: >-
  MemberPress publishes NO AsyncAPI document, and none was generated here — the event surface is
  captured as a webhook catalog instead. Every event name below is quoted verbatim from
  MemberPress's own documentation.
delivery:
  style: http-callback
  subscription_model: api-managed
  subscribe:
    method: POST
    path: /wp-json/mp/v1/webhooks/subscribe
    parameters:
      url: Callback URL that receives notifications (required)
      event: Event type, or the literal value `all` for every event (required)
  unsubscribe:
    method: DELETE
    path: /wp-json/mp/v1/webhooks/unsubscribe/{id}
  ui_alternative: >-
    Webhooks can also be configured, and test-fired, from the MemberPress > Developer screen in
    WP Admin. MemberPress describes that screen as the authoritative, dynamic list of events for
    a given installation and plugin version.
  authentication:
    header: memberpress-webhook-key
    since: MemberPress 1.2.5
    kind: shared-secret
    signature: none
    note: >-
      A static shared secret, not an HMAC signature over the payload — a receiver can verify that
      the caller holds the key but cannot verify body integrity or replay-protect a delivery.
      Basic Authentication with the WordPress Application Passwords plugin is also documented,
      and MemberPress itself labels it the less secure option.
  retries: undocumented
  ordering: undocumented
  payload_schema: undocumented
events:
- name: transaction-completed
  domain: transactions
  description: A transaction completed.
- name: transaction-refunded
  domain: transactions
  description: A transaction was refunded.
- name: transaction-failed
  domain: transactions
  description: A transaction failed.
- name: transaction-expired
  domain: transactions
  description: A transaction expired.
- name: recurring-transaction-completed
  domain: transactions
  description: A recurring transaction completed.
- name: recurring-transaction-failed
  domain: transactions
  description: A recurring transaction failed.
- name: subscription-created
  domain: subscriptions
  description: A subscription was created.
- name: subscription-paused
  domain: subscriptions
  description: A subscription was paused.
- name: subscription-resumed
  domain: subscriptions
  description: A subscription was resumed.
- name: subscription-stopped
  domain: subscriptions
  description: A subscription was stopped.
- name: subscription-upgraded
  domain: subscriptions
  description: A subscription was upgraded.
- name: subscription-downgraded
  domain: subscriptions
  description: A subscription was downgraded.
- name: member-signup
  domain: members
  description: A member signed up.
- name: member-account-updated
  domain: members
  description: A member account was updated.
event_count: 14
gaps:
- No AsyncAPI or JSON Schema for any event payload — a subscriber cannot know the shape of a
  delivery before receiving one.
- No documented retry, backoff or dead-letter behaviour.
- No per-payload signature; origin verification only, via a static header key.
- No documented delivery ordering or idempotency key on the callback.