---
title: "Handle Revenuecat Webhook"
method: POST
path: "/api/v1/webhooks/revenuecat"
tags: ["webhooks"]
---

# Handle Revenuecat Webhook

`POST /api/v1/webhooks/revenuecat`

## Request

- Base URL: `https://api.alert.camp` (the document declares no server; this is the origin it was published from)
- URL: `https://api.alert.camp/api/v1/webhooks/revenuecat`
- Auth: none declared

Handle RevenueCat webhook events.

Events processed:
- INITIAL_PURCHASE: First subscription
- RENEWAL: Subscription renewed
- CANCELLATION: User canceled
- UNCANCELLATION: User re-enabled renewal
- EXPIRATION: Subscription expired
- BILLING_ISSUE: Payment failed
- PRODUCT_CHANGE: Plan changed
- TEST: Webhook test

Returns 200 to acknowledge receipt (RevenueCat will retry on non-2xx).

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/alert/apis/alertcamp.md) · [All operations](https://skmtc.dev/alert/apis/alertcamp/llms.txt) · [OpenAPI document](https://skmtc.dev/alert/apis/alertcamp/revisions/864c8c9ef833?raw)
