Rate limits
Nexio counts requests to/api/v1/ in a one-minute sliding window per org. Each request counts against exactly one bucket.
- Buckets are per org, not per API key or environment. Sandbox and live traffic share them.
- When an engine sets its own limit, requests to that engine count against the engine’s bucket instead of the org default. A change to an engine’s limit takes effect within 30 seconds.
- The data reads and conversation turns buckets never go below the numbers above. If the platform default is set above them, the higher default applies.
- Authentication runs first, so a bad key gets
401, never429.
429 with a Retry-After header in whole seconds, at least 1:
Retry-After before sending again.
Inbound events
POST /api/v1/events/ingest/{source_key} has its own limits, because it is not called with an API key:
See Inbound events.
Body size
A run submission over its body limit gets
413 request_bound_exceeded with "bound": "http_envelope_bytes".
Request bounds
Before a run is created, Nexio measures the submission’sinput and offerings as compact JSON and checks five bounds. The first violation found is returned, and no run is created, no run cap is used, and nothing is queued.
- Default applies to comparison, matching, entity analysis, diligence and opportunity engines.
- Triage engines rank a whole population in one submission, so they use larger bounds for total bytes and array items.
- Engine configuration. A released comparison, entity analysis or diligence engine configuration can set
request_boundsto replace any bound, field by field, with a value up to the last column. A value of 0 or an omitted field keeps the default from the table. - The two Nexio-operated engines named under Body size have their own request bounds, set by Nexio.
details has five fields. measured and actual carry the same number; actual is kept for older clients. bound is one of http_envelope_bytes, max_canonical_bytes, max_string_length, max_array_items, max_object_fields or max_object_depth.
Some engine configurations can also declare resource_limits with max_provider_calls (0, or 1 to 100) and max_output_tokens (0, or 1 to 1,000,000). Nexio validates them when you save. They are built, not yet enforced at run time, whatever the value.
Time limits
A run does its work after the
202, so the time budget covers only the submission. Poll or use webhooks for the result.
Monthly run cap
Your org can have a monthly cap on the number of runs it creates.- The month is a UTC calendar month.
- Every created run counts one: live, sandbox and fixture runs alike.
- The check and the count happen in the same step that creates the run, so concurrent submissions cannot pass the cap.
- A refused submission, or an idempotent replay of an earlier run, does not count.
- An org with no cap set is uncapped.
429:
Other limits
Request a change
Emailsupport@usenexio.com with your environment slug, the engine slug, the peak requests per minute you expect, the monthly run count you expect, and a recent x-request-id or run_id.