Plans and usage
What an org's plan includes, what it limits, and how monthly active users are counted.
Every org is on one plan. The catalog of plans is public: List the plans answers it with no credential, cheapest first, with each plan's features, quotas and price (or that it's by contract).
Features
A plan includes features, each available or coming: a feature is available only once Synq's API enforces it. A route that needs a feature the org's plan lacks answers plan_feature_unavailable, naming the cheapest plan that has it. Today:
- Webhooks (
integration.webhooks): making a subscription, or changing its URL or events, or turning it on, needs it. Turning one off, reading or deleting it never does, so an org that moved down can still stop and clean up. - Your own apps at sign-in providers (
auth.byo_connections): setting the org's or a brand's own app at a sign-in provider needs it. Forgetting one never does. - Token gates (
auth.token_gating): making a gate needs it. A gate that's on stays enforced if the org moves to a plan without it: it fails closed. - Advanced themes (
branding.advanced_theme): a brand's theme beyond its layout and the order of its sign-in methods (a font, the card's colour, corners and shadow, the buttons' corners, the sign-in heading and a background image) needs it. - Without "Powered by Synq" (
branding.remove_powered_by): hiding the footer's "Powered by Synq" on the hosted pages needs it. - Your own sending domain (
branding.custom_email_domain, Pro and up): adding a sending domain, checking one, and pointing a brand's email at one need it. Without it, a brand's email comes from "<brand>via Synq" from the next email on; its domains and settings stay, and reading or deleting them never needs it. A brand's reply-to address is on every plan (Your brand's email). - Custom domains (
branding.custom_domain, Pro and up): adding a brand's custom domain and checking it need it; reading or removing one never does. A live domain keeps answering for 14 days after the org moves to a plan without it.
A brand keeps its theme settings if its plan shrinks, but its pages show only what the plan has now.
Quotas
| Quota | What happens at it |
|---|---|
| Brands | Making another is refused with plan_quota_exceeded |
| Apps (the org's own; apps that registered themselves don't count) | Making another is refused with plan_quota_exceeded |
| Monthly active users | Never refused: each one above the allowance is billed |
| Audit log | Rows are kept as long as the plan says |
An org that moves to a smaller plan keeps what it has above the new quotas; it just can't make more.
Monthly active users
A user counts once in a calendar month (UTC) when they get tokens in it: by signing in, refreshing or through the device flow. A machine app's tokens never count. A refresh counts as much as a sign-in, so someone who stays signed in counts each month they use an app. Read the org's usage answers a month's count against the plan's allowance, with the org's apps and brands against its limits.