Billing
Plans, usage metering, and spending limits explained
Bitelio charges by monthly email volume. A single usage meter covers everything: campaign sends, transactional sends, emails fired from workflows, and inbound messages you receive. The prices described here are the plans offered at bitelio.com.
Plans
Free tier
On the free tier, a project can send up to 1,000 emails each month without paying anything. Marketing emails from free projects carry a Bitelio-branded footer, and any inbound mail you receive is deducted from the same 1,000-email allowance.
Paid plans
Each paid plan bundles a monthly volume and lets you keep sending past it as metered overage:
| Plan | Monthly price | Emails included | Beyond the allowance |
|---|---|---|---|
| Pro | $19/month | 15,000 emails/month | $1.20 per extra 1,000 |
| Scale | $99/month | 100,000 emails/month | $1.20 per extra 1,000 |
| Enterprise | Custom | Custom volume | Volume pricing |
Contacts are unlimited on every plan. Upgrading to any paid plan drops the Bitelio footer; Scale additionally comes with a dedicated sending IP and priority support.
Usage tracking and per-category caps live under Settings → Billing.
What counts as an email
Your monthly meter increments on every send and every inbound message:
| Source | Cost |
|---|---|
Transactional sends (/v1/send) | 1 credit per recipient |
| Campaigns | 1 credit per recipient |
Workflow SEND_EMAIL steps | 1 credit per send |
| Inbound emails | 1 credit per received email |
| Emails with attachments | 2 credits per email |
Attaching one or more files doubles the cost of that email. Size is irrelevant to pricing — a 100 KB attachment and a 10 MB one are billed identically, at one extra credit for the email.
Per-category billing limits
To stop any single source from burning through your allowance, you can put a monthly ceiling on each category individually. A typical use: guarantee headroom for transactional mail even if a campaign misfires and sends far more than intended.
| Category | What it caps |
|---|---|
| Transactional | Emails sent through /v1/send |
| Campaigns | Emails sent as part of a campaign |
| Workflows | Emails sent by SEND_EMAIL steps inside a workflow |
| Inbound | Inbound emails received at your verified domain |
Caps are set in Settings → Billing → Limits, and each one stands alone — configure a single category, every category, or none at all.
What happens when a limit is hit
Once a category cap is reached — or a free-tier project runs out of its plan allowance (on paid plans, sends simply continue as billed overage) — the following applies:
- Outbound API calls (
/v1/send, campaign sends, workflow sends) respond with402 Payment Requiredand the error codeBILLING_LIMIT_EXCEEDED. Build your application to cope with this — queue the send for later, or show the user a meaningful error. - Inbound emails for the affected project are silently discarded until the cap resets; there is no queue and no replay.
- All limits reset when a new billing period begins.
Bitelio also notifies you — by email and/or in-app — as a cap gets close and again when it's reached.
Invoices and payment
All payments run through Stripe. The Settings → Billing page lets you:
- Jump into the Stripe billing portal to change payment methods, billing addresses, and tax IDs.
- Browse and download the project's full invoice history.
- Review this period's usage, broken down by category.
Failed payments are retried by Stripe on its usual schedule. If retries keep failing, the project eventually loses the ability to send — so keep a valid payment method on file.
API reference
GET /users/@me/projects/:id/billing-consumption— current period usage by category.GET /users/@me/projects/:id/billing-limits— read per-category caps.PUT /users/@me/projects/:id/billing-limits— update per-category caps.GET /users/@me/projects/:id/billing-invoices— list invoices.POST /users/@me/projects/:id/billing-portal— generate a Stripe billing portal URL.POST /users/@me/projects/:id/checkout— start a Stripe Checkout session for upgrades.