Option 1
A pack, right away
Two clicks, payment, capacity available within the second. Your subscription does not move by a cent.
Quotas and alerts
Elsewhere, isolating quotas requires an Enterprise plan. Here it is included from twelve euros a month, because it is the condition for a team to work in peace.
90 % alert sent
limit reached, messages refused
// Quotas live in the API, so they live in your IaC.
await facteur.inboxes.setQuota('j3k9x2mq', {
// 'reject': CI stops dead
daily: { messages: 5_000, onExceed: 'reject' },
// 'alert': we warn, we let it through
monthly: { messages: 80_000, onExceed: 'alert' },
});
await facteur.alerts.create({
scope: { inbox: 'j3k9x2mq' },
thresholds: [50, 75, 90, 100],
channels: [
{ type: 'slack', target: '#qa-alerts' },
{ type: 'webhook', target: 'https://hooks/quota' },
],
});Detail
Quota isolation is not a commercial negotiation lever. It is the minimum for a team to share an account without getting in each other’s way, so it is included from the Solo plan.
Both, independently, per inbox. The daily limit protects against infinite loops; the monthly one protects the budget.
On overage the inbox refuses messages at the SMTP level — your test fails cleanly, with an explicit error code — or it keeps accepting and merely alerts. Whether the inbox serves CI or a customer demo, the right choice differs.
One alert per threshold crossed, never twice for the same one. The point is to warn you before the wall, not to drown you.
Email, signed webhook, Slack, Microsoft Teams — and OpsGenie or PagerDuty when the threshold crossed deserves to wake someone rather than wait for Monday.
The dashboard answers “who used my quota”, not just “how much did I use”. Per inbox, per day, exportable as CSV.
A maximum beyond which we stop billing pay-as-you-go. A surprise bill is a design defect, not a fact of life.
Everything above is in the API and in the Terraform provider. Your quotas live in your repository, not in the memory of whoever last clicked.
And when it overflows
Exceeding a quota is a normal event in a project’s life. It should not be an incident.
Option 1
Two clicks, payment, capacity available within the second. Your subscription does not move by a cent.
Option 2
Nothing to do, nothing breaks, billed on usage within your spending cap.
Option 3
An explicit SMTP rejection rather than a message swallowed in silence. Your test fails for the right reason, and you see it.
Per-inbox quotas, progressive alerts and a spending cap: included from the Solo plan, with no sales conversation.