Tearleads

POST/billing/revenuecat/webhook

Receive a RevenueCat webhook

Operation billing.revenuecat.webhook.receive

Description

Receives subscription lifecycle events from RevenueCat and applies them to organization billing. The caller is RevenueCat, authenticated by the shared secret in the Authorization header rather than by a session. An event the server cannot apply yet is answered with 503 and left unclaimed, so RevenueCat redelivers it.

Authentication

No session is required.

Parameters

NameInTypeDetails
authorizationheaderstringoptional

Request body

application/jsonRevenueCatWebhookRequest

The envelope RevenueCat posts to the billing webhook.

2 fields

Other fields are allowed.

Responses

200 OK

application/jsonRevenueCatWebhookResponse

Acknowledges a RevenueCat delivery.

2 fields
  • receivedbooleanrequired
    • always true
  • outcomestringrequired
    • one of applied, duplicate, ignored

    applied when billing changed, duplicate for an event id already handled, ignored when it needed no change.

Other fields are allowed.

Other responses

StatusMeaningBody
400Bad Request

application/jsonErrorResponse

401Unauthorized

application/jsonErrorResponse

500Internal Server Error

application/jsonErrorResponse

503Service Unavailable

application/jsonErrorResponse

Additional rules

The server also enforces these rules, which the schema above cannot express.

  • Authorization must match the configured RevenueCat webhook secret in constant time.