Skip to content

Latest commit

 

History

History
104 lines (72 loc) · 4.48 KB

limits-and-quotas.mdx

File metadata and controls

104 lines (72 loc) · 4.48 KB
title Limits & Quotas
description Rate limits, storage quotas, database size caps, and HTTP status codes for urBackend projects.

Rate limits

urBackend enforces per-IP rate limits to keep the service stable for all projects.

Endpoint group Limit
Global API 100 requests per 15 minutes per IP
Auth endpoints (/api/userAuth/*) Stricter per-IP limit

Requests that exceed the limit receive a 429 Too Many Requests response. Design your client to back off and retry after the rate limit window resets.

Storage limits

Resource Limit
File upload size 10 MB per file (urBackend-hosted storage only)
Storage quota per project 10 MB (Free tier; unlimited with BYOS)

Files that exceed the limit return 413 Payload Too Large. Projects connected to external (bring-your-own) storage are not subject to the 10 MB per-file limit.

Database limits

Resource Limit
Database size per project 50 MB (Free tier; unlimited with BYOM)
Documents per read request (limit) 100 by default, up to 1000

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.

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.

AI Query Builder

Plan Query Builder requests per month (platform key)
Free 5
Pro 20

AI Collection Creator (Schema Design)

Plan Schema designs per month (platform key)
Free 1
Pro 5

In addition to the monthly cap, each Collection Creator chat session using the platform key is limited to 20 iterations (turns) before you must start a new session. This per-session cap protects platform resources against long, runaway conversations.

Requests beyond either the monthly cap or the per-session iteration cap return 403 Forbidden. Monthly counters reset on the first of the next calendar month (UTC).

To bypass both the monthly cap and the per-session iteration cap, configure a personal Groq API key at the developer or project level. Requests that resolve to a BYOK key are not counted against any platform cap. See BYOK for AI.

HTTP status codes

Code Meaning Common cause
200 OK Request succeeded —
201 Created Resource created Successful POST insert
400 Bad Request Invalid request Schema validation failure, missing required field
401 Unauthorized Authentication failed Missing or invalid API key, expired JWT
403 Forbidden Access denied RLS policy violation, quota exceeded, write blocked for pk_live_
404 Not Found Resource not found Document ID does not exist, invalid file path
413 Payload Too Large Upload too big File exceeds the per-file size limit
429 Too Many Requests Rate limit exceeded Too many requests from the same IP within the window
500 Internal Server Error Server-side error Unexpected failure; contact support if it persists
If you are using webhooks, respond to incoming webhook requests within 10 seconds. urBackend retries failed deliveries with exponential backoff, so a slow response can trigger unintended duplicate processing on your end.