Skip to main content
Webhooks let you receive real-time HTTP notifications when subscription events happen in your Appstle account. Instead of polling the API, you register an endpoint URL and Appstle sends an HTTP POST request to it whenever an event occurs. Appstle webhooks are powered by Svix, which provides automatic retries with exponential backoff, cryptographic signature verification, and detailed delivery logs.

Getting started

1

Configure your endpoint

Log in to your Appstle dashboard, go to Settings → Webhooks, add your webhook endpoint URL, and select which events you want to receive.
2

Return 2xx quickly

Your endpoint must return a 2xx status code (e.g. 200 OK) to acknowledge receipt. Process the event asynchronously in a background job — slow responses will time out and trigger retries.
3

Verify signatures

Every webhook request includes Svix signature headers. Always verify the signature before processing to ensure the request is authentic. See Signature verification below.

Event types

Payload structure

All webhooks use this envelope:

Subscription contract payloads

The following events carry a full subscription contract in data: subscription.created, subscription.updated, subscription.activated, subscription.paused, subscription.cancelled, subscription.next-order-date-changed, subscription.billing-interval-changed

Subscription contract fields

Billing attempt payloads

The following events carry billing attempt data: subscription.billing-success, subscription.billing-failure, subscription.billing-skipped, subscription.upcoming-order-notification

Billing attempt fields

Signature verification

Every webhook request is signed by Svix. You must verify the signature before processing to ensure the request is authentic and has not been tampered with. Svix adds three headers to every request: Find your webhook signing secret in Settings → Webhooks in the Appstle dashboard.
Svix also provides verification libraries for Go, Ruby, PHP, Java, and C#. See the Svix documentation for all language examples.

Testing webhooks

Using Svix Play

  1. Go to Settings → Webhooks in your Appstle dashboard.
  2. Click on your endpoint.
  3. Use the Send Example feature to send a sample event.
  4. Verify your endpoint receives and processes the webhook correctly.

Local development

Use ngrok or localtunnel to expose your local server:
Then add the generated public URL (e.g. https://abc123.ngrok.io/webhooks/appstle) as a webhook endpoint in your Appstle dashboard.

Retry schedule

If your endpoint does not return a 2xx status code, Svix retries automatically using exponential backoff over 5 attempts across 3 days. Endpoints that fail consistently are automatically disabled to prevent wasted resources. You can manually retry failed deliveries from the Svix dashboard, and view all delivery attempts in Settings → Webhooks → Message Logs.

Troubleshooting

Log the raw webhook payload during development so you can inspect the exact data structure. Test with a simple endpoint that just logs and returns 200 OK before adding business logic.
Need help? Email support@appstle.com with your endpoint URL and the svix-id of any failing message.