Overview
Autumn sends webhooks to notify your application of important events like:- Subscription changes (new, upgrade, downgrade, cancel)
- Usage threshold alerts
- Payment events
- Balance updates
Setup
1. Create a Webhook Endpoint
Create an endpoint in your application to receive webhooks:2. Configure Webhook in Dashboard
- Go to the Autumn dashboard → Settings → Webhooks
- Click Add Endpoint
- Enter your webhook URL (e.g.,
https://api.yourapp.com/webhooks/autumn) - Select which events to receive
- Save and copy the Signing Secret to your environment variables
Event Types
customer.products.updated
Sent when a customer’s product subscription changes. Scenarios:new- Customer subscribed to a new productupgrade- Customer upgraded to a higher tierdowngrade- Customer downgraded to a lower tiercancel- Customer canceled their subscription
customer.threshold_reached
Sent when a customer reaches a usage threshold (e.g., 80% of their limit). Payload:Security
Verify Webhook Signatures
Always verify webhook signatures to ensure requests are from Autumn:Use HTTPS
Webhook endpoints must use HTTPS in production. Svix will reject HTTP endpoints.Implement Idempotency
Webhooks may be delivered more than once. Use thesvix-id header as an idempotency key:
Testing
Local Testing with Svix Play
- Go to Svix Play
- Generate a webhook URL
- Add it as a webhook endpoint in Autumn dashboard
- Trigger events (attach, track, etc.) and see them arrive in real-time
Send Test Events
Use the Autumn dashboard to send test webhook events:- Go to Settings → Webhooks
- Click on your endpoint
- Click Send Example and select an event type
CLI Testing
Retries and Reliability
Autumn automatically retries failed webhook deliveries:- Retry Schedule: Exponential backoff (1min, 5min, 30min, 2hr, 5hr, 10hr, 10hr)
- Success Criteria: HTTP 200-299 response
- Timeout: 15 seconds per attempt
- Total Attempts: Up to 7 retries over ~24 hours
Return Proper Status Codes
Debugging
View Webhook Logs
- Go to Settings → Webhooks in Autumn dashboard
- Click on your endpoint
- View delivery attempts, status codes, and response bodies
Common Issues
Signature verification fails
Signature verification fails
- Check that you’re using the correct webhook secret
- Ensure you’re passing the raw request body (not parsed JSON)
- Verify all three Svix headers are present:
svix-id,svix-timestamp,svix-signature
Webhooks not arriving
Webhooks not arriving
- Verify your endpoint is publicly accessible (use ngrok for local dev)
- Check that the endpoint uses HTTPS (required in production)
- Ensure you’ve selected the correct events in webhook configuration
- Check webhook logs in dashboard for delivery failures
Duplicate webhook deliveries
Duplicate webhook deliveries
- This is normal behavior - implement idempotency using
svix-idheader - Check your handler is returning 200 on success
Best Practices
Related Resources
- Svix Documentation - Learn more about webhook infrastructure
- Attach Endpoint - Trigger product update webhooks
- Track Endpoint - Configure threshold webhooks
Next Steps
API Reference
Explore all available endpoints
SDK Documentation
Learn how to use Autumn SDKs