Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions mintlify/docs/cli/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
17 changes: 12 additions & 5 deletions mintlify/docs/guides/mail-platform.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -414,7 +418,7 @@ await client.request('DELETE', '/api/mail/audiences/aud_123/contacts/ct_123');

</CodeGroup>

## Marketing broadcasts (BYOK + Pro)
## Marketing broadcasts (BYOK)

Endpoints:

Expand All @@ -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.

<CodeGroup>

Expand Down Expand Up @@ -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

<Info>
Add product screenshots/annotated walkthrough images in this section if your docs deployment supports hosted image assets.
Expand Down Expand Up @@ -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)

Expand Down
4 changes: 4 additions & 0 deletions mintlify/docs/guides/webhooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<Note>
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).
</Note>

## Payload format

Every webhook event is delivered as a `POST` request with a JSON body in this shape:
Expand Down
29 changes: 29 additions & 0 deletions mintlify/docs/limits-and-quotas.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Loading