diff --git a/mintlify/docs/cli/overview.mdx b/mintlify/docs/cli/overview.mdx index fc4651c84..88dbf732b 100644 --- a/mintlify/docs/cli/overview.mdx +++ b/mintlify/docs/cli/overview.mdx @@ -138,6 +138,7 @@ ub collection delete "users" --force ### `ub status` Shows your account usage and recent API activity to help you monitor your limits and project health. +Usage is shown against your plan limits (projects, collections, database, storage, API requests, auth users, and webhooks). Limits that are unlimited on your plan display as `Unlimited`. ```bash ub status diff --git a/mintlify/docs/guides/mail-platform.mdx b/mintlify/docs/guides/mail-platform.mdx index e09f50b37..b9e179ad7 100644 --- a/mintlify/docs/guides/mail-platform.mdx +++ b/mintlify/docs/guides/mail-platform.mdx @@ -12,7 +12,7 @@ urBackend Mail Platform extends transactional sending into a full delivery workf - BYOK (Bring Your Own Key) with encrypted project-level Resend keys - delivery tracking via persistent `MailLog` - audience/contact management (BYOK-gated) -- marketing broadcasts (BYOK + Pro gated) +- marketing broadcasts (BYOK-gated, counted against the monthly mail quota) - webhook-driven status updates with Svix verification Implementation references: @@ -46,12 +46,16 @@ flowchart LR | Capability | Free (shared key) | Free + BYOK | Pro + BYOK | |---|---:|---:|---:| +| Monthly mail quota | 50 | 50 | 1,000 | | Transactional send (`/api/mail/send`) | ✅ | ✅ | ✅ | | Batch send (`/api/mail/send-batch`, max 100 items) | ✅ | ✅ | ✅ | +| Custom mail templates (`templateId` / `templateName`) | ✅ | ✅ | ✅ | | Delivery logs + live status | ✅ | ✅ | ✅ | | Audiences & Contacts | ❌ | ✅ | ✅ | | Marketing Broadcasts | ❌ | ✅ (within 50/mo limit) | ✅ (within 1,000/mo limit) | +BYOK is available on every plan, including Free. Audiences, contacts, and broadcasts only require a configured BYOK Resend key. They do not require a Pro plan. + ## Getting started ### Prerequisites @@ -414,7 +418,7 @@ await client.request('DELETE', '/api/mail/audiences/aud_123/contacts/ct_123'); -## Marketing broadcasts (BYOK + Pro) +## Marketing broadcasts (BYOK) Endpoints: @@ -437,7 +441,9 @@ Endpoints: ### Quota checks -Broadcast create/send/list/detail/delete paths run behind mail usage gating middleware and plan checks. +Broadcasts require a configured BYOK Resend key on the project. They are available on both the Free and Pro plans. + +Each broadcast send reserves one slot from the project's shared monthly mail quota (50 on Free, 1,000 on Pro), the same quota used by transactional sends. If Resend rejects the send, urBackend refunds the reserved slot so failed sends do not count against your quota. @@ -574,7 +580,8 @@ Route: `/project/:projectId/mail` - compose audience + subject + html - send campaign via broadcast API -- locked unless BYOK is configured and account is Pro +- locked if BYOK key is not configured +- each send counts against the monthly mail quota Add product screenshots/annotated walkthrough images in this section if your docs deployment supports hosted image assets. @@ -635,7 +642,7 @@ Compared to legacy single-send usage: - `/api/mail/send-batch` adds bulk dispatch (up to 100 items/request) - `MailLog` is first-class for auditability and dashboard visibility - new BYOK-gated resources: audiences, contacts -- new BYOK+Pro resource: broadcasts +- new BYOK-gated resource: broadcasts (counted against the monthly mail quota) - webhook path requires raw-body middleware placement before JSON parser - new env dependencies for production-grade mail processing (`RESEND_WEBHOOK_SECRET`, sender defaults) diff --git a/mintlify/docs/guides/webhooks.mdx b/mintlify/docs/guides/webhooks.mdx index 345248ee2..f5b070ee1 100644 --- a/mintlify/docs/guides/webhooks.mdx +++ b/mintlify/docs/guides/webhooks.mdx @@ -14,6 +14,10 @@ Webhooks let urBackend notify your server the moment data changes in your collec 3. Either copy the auto-generated signing secret or enter your own. Store this secret securely — you will use it to verify incoming requests. 4. Save the webhook. urBackend will begin sending events to your URL immediately. + + The Free plan allows up to 3 webhooks per project, including disabled ones. The Pro plan has no webhook limit. The limit only applies when you create a webhook. You can still edit, delete, and test existing webhooks at the limit. See [Limits & Quotas](/limits-and-quotas#webhook-limits). + + ## Payload format Every webhook event is delivered as a `POST` request with a JSON body in this shape: diff --git a/mintlify/docs/limits-and-quotas.mdx b/mintlify/docs/limits-and-quotas.mdx index 47246505f..e1b9751ce 100644 --- a/mintlify/docs/limits-and-quotas.mdx +++ b/mintlify/docs/limits-and-quotas.mdx @@ -32,6 +32,35 @@ Files that exceed the limit return `413 Payload Too Large`. Projects connected t When your project approaches the database quota, writes may be rejected with `403 Forbidden`. Monitor your usage in the Dashboard. +## Mail limits + +Mail sent through the Mail Platform counts against a per-project monthly quota. Transactional sends, batch sends, and marketing broadcasts all draw from the same quota. + +| Plan | Emails per month | +| :--- | :--- | +| Free | 50 | +| Pro | 1,000 | + +Custom mail templates and BYOK (your own Resend key) are available on both plans. See [Mail Platform](/guides/mail-platform). + +## Webhook limits + +| Plan | Webhooks per project | +| :--- | :--- | +| Free | 3 | +| Pro | Unlimited | + +Every webhook in the project counts toward the limit, including disabled ones. Only webhook creation is count-gated. Creating a webhook when the project is already at its limit returns `403 Forbidden` with the message `Webhook limit reached (3). Please upgrade your plan for unlimited webhooks.` Editing, deleting, and testing existing webhooks are not restricted. Automatic delivery retries are available on both plans. + +## Team member limits + +| Plan | Members per project (including the owner) | +| :--- | :--- | +| Free | 2 | +| Pro | 6 | + +Inviting a member beyond the limit returns `403 Forbidden`. + ## AI session limits AI features that use urBackend's platform Groq key are capped per account, per calendar month. The AI Query Builder and the AI Collection Creator (Schema Design) each have their own separate monthly counter.