Plan Limits and Access
On a hosted deployment, the platform operator can put your organisation on a plan with limits, and can restrict its access (for example while an invoice is overdue). The dashboard shows both, and the API returns clear errors your code can handle.
Cloud plans
Every organisation on the cloud starts on Free, and can move to Growth at any time from Plan in the dashboard sidebar:
| Free | Growth | Enterprise | |
|---|---|---|---|
| Price | Free | $15 a month, or the same in your currency, for example UGX 55,000, KES 1,900 or NGN 22,000; a year costs ten months | Agreed with you; ask us |
| Customers | 1,000 | Unlimited | Unlimited |
| Active subscriptions | 1,000 | Unlimited | Unlimited |
| Invoices a month | 2,500 | Unlimited | Unlimited |
| Team members | 5 | Unlimited | Unlimited |
| Features, including managed payments | All | All | All, with a negotiated managed payments fee |
| Support | Community | Priority | Service level agreement and a named account manager |
Growth can be paid in every currency Flutterwave takes: UGX, KES, TZS, RWF, NGN, GHS, ZAR, XAF, XOF, ZMW, MWK, EGP, USD, EUR and GBP. Pick yours on the Plan page. Prices are set for African businesses first. The cloud earns mostly from the managed payments fee, so Free is generous, and Growth costs about as much as a monthly phone bundle. Enterprise has no public price: use Talk to us on the Plan page, and the platform operator moves you onto it and invoices you directly.
The platform operator can also make an organisation a Partner. Partners are Cybroid's own products and its partners: they have no limits and pay nothing. The operator sets this in the control panel, under the organisation's Plan and limits.
Upgrading opens a checkout for your first invoice, payable by card or mobile money; the plan changes as soon as the payment is confirmed. Renewals are invoiced at the start of each period. If a renewal stays unpaid for 7 days after the paid period ends, the organisation returns to Free (nothing is deleted; only creating more than Free allows is refused). Cancel from the same page to return to Free at the end of the period you paid for.
Self-hosted deployments have no plans or limits.
Plan limits
A plan can limit the number of customers, active subscriptions, invoices per month and team members, and can leave out features (usage billing, money movement, wallets, the ledger). When a request would go past a limit, it is refused with 402 Payment Required:
{
"statusCode": 402,
"code": "PLAN_LIMIT",
"message": "Starter allows up to 100 customers.",
"plan": "Starter",
"upgradeUrl": "https://example.com/upgrade"
}
Reading is never limited: only creating more of a limited thing is refused. upgradeUrl is where to change plan, when the operator has set one. The dashboard shows your plan and its limits next to your organisation name.
Restricted access
| Access | What works |
|---|---|
| Full | Everything |
| Read-only | Everything that reads; creating or changing anything is refused |
| Suspended | Nothing, except reading your organisation's details |
A refused request returns 403 Forbidden with code TENANT_READ_ONLY or TENANT_SUSPENDED, the reason the operator gave as message, and accessUrl where to resolve it, if set. The dashboard shows the same reason in a banner.