> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.aurasos.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.aurasos.com/_mcp/server.

# Subscriptions

A **subscription** is what entitles a customer to a live response — without an
active one, callouts are rejected. It's a central part of any integration: keep
your active users in sync with their AURA subscriptions.

Each subscription has a `subscriptionTypeId` and a validity window (`validFrom` /
`validTo`):

* **Discover types** — [`GET /panic-api/v2/subscriptions/subscriptionTypes`](/api-reference/subscriptions/list-subscription-types).
  White-label web signup uses `WEB_SIGNUP_SINGLE` (or `WEB_SIGNUP_FAMILY`).
* **Activate** — [`POST /panic-api/v2/subscriptions`](/api-reference/subscriptions/create-subscription);
  **renew** with [`PUT`](/api-reference/subscriptions/update-subscription),
  **cancel** with [`DELETE`](/api-reference/subscriptions/delete-subscription).
* **Read back** — [`GET /panic-api/v2/customers/{customerId}/subscriptions`](/api-reference/customers/list-customer-subscriptions)
  for a customer's subscription (rate-limited: \~50 requests per 10 seconds per
  customer source, then `429`), or
  [`GET /panic-api/v2/subscriptions/{subscriptionId}`](/api-reference/subscriptions/get-subscription)
  for a subscription with its linked `dependents[]` — useful for family plans.
* **Family** plans link dependants to a main member; if the main member's
  subscription lapses, dependants lose access too.

> **Note**
>
> A subscription has **no status field**. It is active when the current time is
> within `validFrom`–`validTo` **and** `CancelledDate` (note the capital C) is
> `null`. Derive "active" from those fields rather than looking for a status.

```mermaid
flowchart LR
    A[Activate subscription] --> B[Active]
    B -- Renew --> B
    B -- Cancel --> E[Ended]
    B -- Lapse --> E
    E -- Re-subscribe --> A
```

Lapsed or cancelled subscriptions can't be recovered — create a new one to
re-subscribe a customer.

## In the API Reference

* [Subscriptions](/api-reference/subscriptions)