Usage, limits and billing
What counts as a call, what each plan includes, and what happens at the limit.
Omniio meters MCP protocol calls by UTC calendar month. The counter is separate from Activity because discovery calls are billable and audit rows eventually expire.
What counts#
Each successful arrival at one of the three Omniio tools increments the monthly
counter: search_tools, describe_tool and run_tool. A run still counts when
policy, approval, an upstream server or its own arguments make it fail—the
gateway performed the request and returned its answer.
A request refused by the per-minute burst ceiling does not count. That check happens first, reaches no upstream and tells the caller when the minute rolls.
Published plans#
| Plan | Monthly price | Included MCP calls | Overage | MCP burst/min | REST requests/min/key | Activity |
|---|---|---|---|---|---|---|
| Free | €0 | 25,000 | Hard limit | 60 | 120 | 7 days |
| Pro | €19 | 100,000 | €0.40 / 1K | 120 | 300 | 30 days |
| Scale | €49 | 500,000 | €0.25 / 1K | 300 | 600 | 3 months |
| Business | €149 | 2,000,000 | €0.20 / 1K | 600 | 1,200 | 6 months |
| Enterprise | Custom | Custom | Volume pricing | Custom | Custom | 1 year |
The live source for these values also drives the pricing page, the in-app meter and the gateway checks, so the displayed allowance and the enforced allowance are the same number.
At the monthly limit#
Free has a hard limit. Its first 25,000 calls in the UTC month may proceed; a later call is refused until the first instant of the next UTC month or until the account upgrades. The error names the plan, post-increment call number and reset date.
Paid published plans continue into overage. Calls past the included amount are metered at that plan's per-1,000 rate and added to the next invoice. Enterprise volume and ceilings are agreed in its contract.
Burst protection#
The per-minute ceiling exists for loops, not normal throughput. It is shared by the billing account because the MCP calls reach the same upstream systems. Once the ceiling is crossed, Omniio refuses the rest of that clock-minute window before monthly metering or an upstream connection.
REST limits differ: they are per API key, not per account, so one runaway export
does not throttle a separate integration. Every API response includes the limit,
remaining requests and reset time in X-RateLimit-* headers; a refusal also
includes Retry-After.
Reading the meter#
Settings → Billing shows the current UTC period, calls used, included volume, overage already accumulated, reset date and the plan that owns the allowance. A team member sees the owner's team plan and can go to the team page; billing changes remain with the account paying for it.
The same snapshot is available programmatically from GET /api/v1/usage.
Next: Notifications.