# Plan and student limit

> Who counts toward the student limit, what happens when it is reached and how to free up spots. Also the storage and API limits.

**Plan** shows how much of each limit of the contracted plan your platform uses. The screen is called **Plan limits** and it is in your avatar menu. It is for viewing only: nothing changes there. The most important limit is the student limit, because it decides whether a new student gets in.

## The idea in one minute

The plan has a number of student spots. Each registered student takes one spot.

- When all the spots are taken, the account is **at the limit**.
- At the limit, no new student gets in. Existing students keep signing in and studying.
- To open a spot, move a student to the trash.

**The most important rule:** at the limit, a purchase by a new person ends in an error. The person pays and does not get access.

## What is on the screen

The screen shows four blocks. Only administrators with billing permission see **Plan** in the menu. The same **Plan limits** button appears at the top of **Settings**.

| Block | What it shows |
|---|---|
| **Students** | Registered students against the plan limit. **In use** shows "X of Y" and a bar, or "X" with **No limit** |
| **Storage** | The platform's files, including those sent through the API, against the plan's space. Help center attachments do not count |
| **API** | Request limits in the production environment: **Platform requests** and **Requests per key**, per minute, and **Active keys** |
| **File uploads through the API** | For each upload purpose, the accepted extensions and the maximum size. Videos do not go through the API: use the integrated players |

## Who takes a spot

- **Counts:** every student in your account who is not in the trash. It does not matter if they signed in yesterday or never, or if they have an enrollment.
- **Does not count:** administrators. The exception is an administrator who is also registered as a student.
- **A different measure:** "Active in the last 7 days", on the **Home** page, does not change the count.

## Where to keep track

- On this screen, in the **Students** block.
- On the **Home** page, in the **Students** indicator. When the plan has a limit, it shows the percentage used. See [The dashboard on your first sign-in](https://help.cademi.cloud/en/comecando/o-painel.md).
- At the limit, the **Home** page shows the notice **You have reached the limit of X users for your plan.** The notice stays until a spot opens.

## What happens at the limit

No new student gets in until a spot opens:

| Who tries to get in | At the limit |
|---|---|
| Free sign-up through the form | Refused. The person sees: **We could not complete your registration. Please contact support to request your registration.** |
| Sign-up through the external link, or a first sign-in with Google | Refused. The person sees: **You have reached the limit of X students for your plan. Upgrade your plan or remove students to continue.** |
| An administrator creates the student by hand | Refused |
| Approved purchase by someone who is not a student yet | The sale ends in an error and no one is created. It stays in [Sales](https://help.cademi.cloud/en/vendas/vendas-recebidas.md). Reprocess it once there is a spot |
| Approved purchase by someone who is already a student | Access is granted as usual |
| Import with new people | The new students in the spreadsheet are not created. See [Imports](https://help.cademi.cloud/en/alunos/importacao.md) |

Existing students keep signing in and studying. The limit only blocks new people.

**Warning: this is where most mistakes happen.** Julia's account is at the limit. A new person buys the course. The sale ends in an error and the person does not get access. To fix it, Julia opens a spot and reprocesses the sale in **Sales**. To avoid it, check your spots before a launch.

## How to open spots

1. Open [Students](https://help.cademi.cloud/en/alunos/alunos.md).
2. Move to the trash the students who no longer need the account.

The spot opens right away. The trash keeps the student's history. If you restore the student, their enrollments, progress and certificates come back.

Revoking an enrollment does not open a spot. The student is still registered.

## How to raise the limit

The limit is the one in the contracted plan. This screen does not change plans. Your current plan, with its student limit, appears in [Billing](https://help.cademi.cloud/en/conta/faturamento.md), in the **My plan** block. To change plans, contact Cademí sales.

## Storage

**In use** shows the space taken against the limit.

Your platform may be billed together with others. In that case, the row says **Adds up all platforms billed together with this one.** The space is shared among them. A file used in more than one account takes space only once.

From 80% of the limit, the screen shows the warning **Your platform is already using 80% or more of its available storage. Once the limit is reached, new files uploaded through the API will be rejected.**

## API

The three numbers are the API request ceilings in the production environment:

- how many requests per minute the whole platform accepts;
- how many requests per minute each key accepts, by default;
- how many keys are active.

They matter to whoever connects your platform to another system. The keys are in **Settings > API keys**.

## What changes when an invoice is overdue

An invoice still open after its due date changes the account. This applies with or without a student limit:

1. **The sales queue pauses.** This happens as soon as the invoice is overdue, before any dashboard lock. The **Home** page shows the notice **You have outstanding invoices. Your sales processing queue is paused**. Administrators with billing permission also see the **Make payment** button.
2. **The dashboard may be blocked.** Administrators with billing permission go to [Billing](https://help.cademi.cloud/en/conta/faturamento.md) and pay the invoice. The other administrators see the **Platform blocked** screen, with a note to contact the platform administrator. While the dashboard is blocked, API integrations are refused. The webhooks your platform sends are held and go out after the payment.
3. **Student sign-in may also be blocked.** Cademí decides this block. While it lasts, neither the password nor Google works for students. Administrators keep signing in.

In order, from the due date:

```mermaid
flowchart TD
    accTitle: What an overdue invoice changes
    accDescr: With an overdue invoice, the sales queue pauses and the Home page shows the notice. If Cademí blocks the dashboard, administrators with billing permission go to Billing and pay; the other administrators see the Platform blocked screen. Once the payment is confirmed, the dashboard is unblocked. Cademí may also block students from signing in; administrators keep signing in.
    atraso{"Invoice overdue?"}
    normal["Everything runs as usual"]
    fila["Sales queue paused<br/>Notice on the Home page"]
    perm{"Billing permission?"}
    pagar["Billing<br/>Open invoice and pay"]
    bloqueada["Platform blocked screen<br/>Contact the administrator"]
    alunos["Students cannot sign in<br/>Administrators can"]
    pago["Payment confirmed<br/>Dashboard unblocked"]
    atraso -->|No| normal
    atraso -->|Yes| fila
    fila -->|If Cademí blocks the dashboard| perm
    fila -.->|If Cademí blocks students| alunos
    perm -->|Yes| pagar
    perm -->|No| bloqueada
    pagar --> pago
    classDef destaque stroke:#ff005c,stroke-width:2px
    class pagar destaque
```

Paying the invoice in **Billing** unblocks the dashboard. Administrators without that permission need one who has it.

A clone does not get billing notices. The source account is the one that pays.

## Good to know

- **Zero means no limit.** A plan with no student ceiling shows **No limit** on this screen and **unlimited** in **Billing**.
- **Restoring skips the check.** Restoring a student from the trash does not check for a spot. The account can go over the limit until the count drops.
- **Lowering the limit removes no one.** If the plan gets a ceiling lower than the current count, every student stays. Only new ones are blocked.
- **Clones have their own limit.** In an account with clones, the source sets the student limit of each one.

## Frequently asked questions

**A student bought and did not get access. Could it be the limit?** It could, if they were not a student of the account yet. Check the sale in **Sales**: it shows an error. Open a spot or raise the limit. Then reprocess the sale. See also [The student paid and has no access](https://help.cademi.cloud/en/vendas/pagou-e-nao-tem-acesso.md).

**I am about to open a new class. How do I know I have spots?** Open **Plan** and compare **In use** with the limit. Before the launch, move to the trash those who no longer need the account.

**Does storage count videos?** No. Lesson videos live in the integrated players and do not count. What counts is the files sent to the platform, including through the API. Help center attachments do not count.

**I moved a student to the trash. Do they lose their history?** No. The trash keeps their enrollments, progress and certificates. Everything comes back if you restore the student.
