Quotas & Limits
Every plan includes monthly limits on events and errors. When your project approaches or exceeds these limits, the dashboard banner alerts you with a path to raise them.
Plan quotas
Each Emit Vision plan sets monthly limits for:
- Events per month: Total events captured via
captureEvent(), automatic page views, and SDK instrumentation - Errors per month: Total errors captured via
captureError()or automatic error tracking
Quotas reset on the billing period boundary. Check your plan in Settings → Billing to see your current limits and usage.
What happens at 100% quota
When your project hits 100% usage, new events and errors are rejected with an HTTP 402 quota_exceeded response. The SDK automatically includes error handling and logging — events are dropped, not queued or retried.
The dashboard banner shows:
- SaaS mode: An "Upgrade plan" link to raise your quota immediately via Stripe
- Self-hosted mode: A "Raise limits" link to documentation on modifying the quota
Resetting the quota
Monthly quotas reset automatically on your billing period end date. You can see the exact reset date in:
- SaaS: Settings → Billing shows your current period end
- Self-hosted: Check the
billing.currentPeriodEndfield from the usage API endpoint
Raising limits
SaaS mode
Click the "Upgrade plan" button in the quota banner or navigate to Settings → Billing to change your plan. Stripe processes upgrades immediately.
Self-hosted mode
Two options:
- Modify
billing_planstable: Update theevents_per_monthorerrors_per_monthcolumns for your plan row - Set environment variables (if using ENV-based config): Override the plan defaults via
PLAN_EVENTS_PER_MONTHandPLAN_ERRORS_PER_MONTH
Restart the API and web services after changes.
No unlimited plans
All plans — including developer and enterprise tiers — enforce quotas. If you need a significantly higher limit, contact support to discuss a custom plan.