Getting started
1
Open webhook settings
In your Appstle Memberships admin, go to Settings → Webhooks.
2
Add an endpoint
Click Add Endpoint and enter your HTTPS endpoint URL.
3
Select events
Choose which events you want to receive, or subscribe to all events to ensure you never miss one.
4
Save
Your endpoint will start receiving events immediately after saving.
Webhooks are available on paid plans. Contact support@appstle.com to enable access.
How webhooks work
Webhooks are HTTPPOST requests sent to your endpoint whenever a membership event occurs. Your endpoint must:
- Be publicly accessible via HTTPS
- Return a
2xxstatus code within the timeout window - Process events asynchronously — queue them for background processing, then respond immediately
Event types
Membership lifecycle events
Billing events
Payload structure
All webhooks share this top-level structure:data field contains the event-specific payload.
Membership contract payload
The lifecycle eventsmembership.created, membership.updated, membership.activated, membership.paused, membership.cancelled, membership.expired, membership.swap-product, membership.next-order-date-changed, and membership.billing-interval-changed all deliver a full membership contract object:
Billing success payload
Billing failure payload
billingAttemptResponseMessage values:
Signature verification
Every webhook request is signed by Svix. Always verify the signature before processing the payload — this ensures the request genuinely came from Appstle and has not been tampered with. Svix includes three headers on every request:
Find your webhook signing secret in your Appstle dashboard under Settings → Webhooks → [your endpoint].
Retry schedule
If your endpoint returns a non-2xx status code or times out, Svix retries with exponential backoff across 5 attempts over 3 days. You can view delivery history and manually replay events from your Appstle dashboard under Settings → Webhooks → Message Logs.
Idempotency
Webhooks can be delivered more than once. Use thesvix-id header value as an idempotency key to safely deduplicate events in your database before processing.