Plans & limits
Know what a client’s site needs, before it needs it.
Every limit is a number the client’s team can see in the Studio. Reach one, and Moteur says which, in plain words. What’s already there stays.
A new entry, on a Free project that has 1,000: 402
{
"error": "This project's plan allows 1,000 entries. Upgrade the plan or delete one first.",
"code": "plan_limit",
"limit": "entries",
"max": 1000
}Size a client
Which plan does this client need?
Set what the site will hold and how busy it gets. Each plan says whether it fits, which extras would cover the rest, or what Moteur would answer.
FreeCheapest fit
Free
PersonalCheapest fit
$9 a month
ProCheapest fit
$39 a month
ExtraCheapest fit
$129 a month
Plans, limits, extras and prices are read from Moteur’s billing plans. The refusals are the engine’s own words. Extras come with paid plans only.
The rules
What a limit means
Limits count what a project holds and what it serves each month. Nothing is ever taken away from your client.
Months
Counts that start again
Requests, image traffic, form letters and AI credits count per calendar month, and start again on the first.
- Shown in the Studio as they grow
- Spam letters don’t count
Downgrades
What’s there stays
Move to a smaller plan and every entry, page and file stays. Only adding more is refused.
- No deleting to fit
- Upgrade, and adding works again
Files
Files counted once
Files count at the size they were uploaded. The sizes Moteur makes from them don’t count.
- Replacing a file frees the old one’s room
- Up to 50 MB a file
Extras
Extras on any paid plan
Add people, API requests, AI credits, file space or image traffic in packs, billed with the plan.
- Billed on the plan’s own schedule
- Up to 100 packs of each
Payments
When a payment fails
The project keeps its plan for a week. After that, it works within the Free plan’s limits until the payment goes through.
- Nothing is deleted
- A week to sort it out
Requests
Only the site’s reads count
API requests count what the public site asks for. Your team’s work in the Studio doesn’t.
- Refused requests aren’t counted
- Static sites ask at build time
When you host Moteur
Your own limits, in a few lines
A self-hosted Moteur has no limits until a plugin sets them. Each one is a function the engine asks, project by project.
- People, files, requests, images, letters and counts
- Return null for no limit
plugins/agency-limits.ts
import { definePlugin } from '@moteurio/plugin-sdk';
/** Every client project on our server: five people, 2 GB of files, 500 pages. */
export default definePlugin({
manifest: { id: 'agency-limits', label: 'Agency limits', source: 'local' },
init(ctx) {
ctx.setPeopleLimit(() => 5);
ctx.setStorageLimit(() => 2 * 1024 ** 3);
ctx.setCountLimit((_project, kind) => (kind === 'pages' ? 500 : null));
},
});Questions about limits
An agency owner asksWhat happens when a client’s site reaches a limit?
MoteurThe one thing that would go over is refused, with a message that says which limit and how many the plan allows. Everything else keeps working.
A client’s editor asksDo the limits reset?
MoteurMonthly ones do, on the first of each month: requests, form letters and AI credits. Counts like entries and pages don’t, since they’re what the project holds.
A developer asksIs an entry in draft counted?
MoteurYes. Entries count in every status, and pages count with their folders.
A developer asksCan our hosting have different limits?
MoteurYes. With your own Moteur, a plugin sets every limit, or none. Moteur Cloud’s billing is one of those plugins.
Start on Free, grow when the site does.
A free project has room for 1,000 entries and 50 pages. Upgrade only when a limit says so.