# Limits and “Unlimited”

> How many domains, links, devices and messages the free cabinet allows, what “Unlimited” lifts for 1000 ₽ a month, and how to pay and renew.

The provider cabinet is free, with limits. **“Unlimited”** lifts them: **1000 ₽ for 30 days**.

## Limits

| What                             | Free                               | With “Unlimited”                      |
| -------------------------------- | ---------------------------------- | ------------------------------------- |
| domains                          | 50                                 | 1000                                  |
| limited links                    | 5000                               | 100,000                               |
| limit of one link                | 1000 devices                       | 100,000 devices                       |
| devices in statistics            | 500,000                            | 5,000,000                             |
| messages to everyone / by system | 2 a day, at most once in 5 minutes | 4 a day, at most once a minute        |
| messages to selected devices     | 200 an hour, up to 20 devices each | 2000 an hour, up to 1000 devices each |
| messages waiting for delivery    | 500                                | 5000                                  |
| API requests                     | 120 a minute                       | 600 a minute                          |
| API keys                         | 10                                 | 10                                    |
| manual domain checks             | 20 an hour                         | 20 an hour                            |

“Unlimited” has ceilings too: they protect against abuse and are an order of magnitude above the free ones. The
cabinet shows the limits in force on its “Unlimited” page.

## How to pay

1. Cabinet → “Unlimited” → “Buy for 1000 ₽ a month”.
2. The anore payment page opens: SBP, a card, YooMoney or crypto. The invoice is valid for 4 hours.
3. After paying you come back to the cabinet and see “Unlimited until …”. The payment usually arrives within seconds.
   If the cabinet still says it is waiting for the payment, come back later: it will not get lost.

You can pay only in the cabinet on the website, signed in to your account. An API key can read the term and the
payment history, but cannot pay.

## Renewing

- **It is not a subscription**: nothing is charged by itself.
- Renew any time with the same payment: 30 days are added to the current term. For example, paying 5 days before
  the end gives you 35 days from today.
- You can pay at most 12 months ahead.
- 3 days before the end an email goes to the account's address, and the cabinet shows a “renew” banner.

## When the term ends

Nothing is deleted or switched off: domains, links (with their device limits) and messages keep working. But nothing
new above the free limits can be created. The API then answers with `limit` or `rate_limited` and
`"upgrade": true`, and the cabinet offers to renew.

## Also

- The term belongs to the account, not to the cabinet: delete the cabinet and turn it on again, and the paid days stay.
  Deleting the account removes them.
- Refunds go through FlowLock support, by hand.
- The payment history is in the cabinet, on the “Unlimited” page.

## In the API

```sh
# term, price, limits and an invoice still waiting for payment
curl -s https://api.flowlock.cc/v1/provider/billing -H "Authorization: Bearer $FLOWLOCK_KEY"
# payment history (newest first, 50 at a time)
curl -s https://api.flowlock.cc/v1/provider/billing/payments -H "Authorization: Bearer $FLOWLOCK_KEY"
```

```json
{
	"available": true,
	"price_rub": 1000,
	"days": 30,
	"plan": {
		"name": "unlimited",
		"active": true,
		"paid_until": "2026-12-01T10:00:00Z",
		"days_left": 34,
		"renew_soon": false,
		"can_pay": true
	},
	"pending": null,
	"limits": { "free": { "domains": 50, "…": 0 }, "unlimited": { "domains": 1000, "…": 0 } }
}
```

`GET /v1/provider` carries `plan` too, and its `limits` are the ones in force now. Errors: `503 billing_off` (payments
are off on the server), `409 prepaid_max` (paid 12 months ahead), `502 payment_unavailable` (the payment service did
not answer).
