Webhooks
Receive RevenueCat events for both customer apps and Capreolus billing.
Capreolus is on the receiving end of webhooks from RevenueCat, and will send webhooks to your endpoints once outbound delivery is generally available. This page covers what we accept today.
RevenueCat — customer apps
Each Capreolus app that uses RevenueCat gets its own webhook URL, templated by the app slug:
POST https://api.capreolus.app/api/saas/iap/revenuecat/webhook?app={slug}On the RevenueCat dashboard, add a custom Authorization header with the value Capreolus generated when you connected the integration. We reject any payload whose header does not match.
RevenueCat — Capreolus billing
Capreolus also resells through RevenueCat for our own Pro subscriptions. The receiving URL is fixed:
POST https://api.capreolus.app/api/billing/revenuecat/webhookThis endpoint is wired to a separate RevenueCat project we own and does not require any setup on your part — it's only documented here so you can recognize the URL in network logs.
What we do with each event
INITIAL_PURCHASE,RENEWAL— entitle the org / project, recompute MRR.CANCELLATION,EXPIRATION— schedule downgrade for end of period.BILLING_ISSUE— flag the customer in the dashboard and (for our own billing) email the org owner.SUBSCRIBER_ALIAS,TRANSFER— merge subscriber records.
Outbound webhooks (roadmap)
We will let you subscribe to the same events from your own backend. That feature is in private preview; reach out if you want early access.
Authorization header is missing or wrong, we respond with 401 — RevenueCat will retry with exponential backoff for up to 24 hours.