---
title: "Sync Subscription"
method: POST
path: "/api/v1/subscriptions/sync"
tags: ["subscriptions"]
---

# Sync Subscription

`POST /api/v1/subscriptions/sync`

## 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/subscriptions/sync`
- Auth: none declared

Reconcile subscription state with RevenueCat REST API.

Mobile calls this after Purchases.restorePurchases() so the backend
tier matches RevenueCat's view immediately, without waiting for a
webhook (which is async and, for events like TRANSFER, may carry no
actionable single-user payload).

## Headers

- `authorization` string, nullable
- `x-dev-user-id` string, nullable
- `x-app-version` string, nullable

## Response `200`

Successful Response

- SubscriptionStatusResponse: Schema for subscription status check response.
  - `is_active` boolean, required
  - `is_trial` boolean, required
  - `status` 'trial' | 'active' | 'past_due' | 'canceled' | 'expired', required: Subscription status states.
  - `plan` 'monthly', required: Available subscription plans.
  - `tier` 'essai' | 'regular' | 'pro': Subscription tier levels.
  - `pending_tier` 'essai' | 'regular' | 'pro': Subscription tier levels.
  - `trial_days_remaining` integer, required
  - `current_period_end` string, date, nullable, required
  - `entitlements` string[]
  - `limits` TierLimitsResponse: Schema for tier limits.
    - `max_alerts` integer, required
    - `max_sites_per_alert` integer, required
    - `max_total_sites` integer, required
    - `max_total_alerts` integer, required
    - `sms_enabled` boolean, required
    - `email_enabled` boolean, required
    - `ontario_parks_enabled` boolean, required
  - `usage` QuotaUsageResponse: Schema for current quota usage.
    - `active_alerts` integer, required
    - `total_alerts` integer, required
    - `total_sites` integer, required
    - `total_sites_by_bucket` 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)
