Delivery Limits

Flux API enforces predictable ceilings so every delivery request stays fast and cacheable. These limits apply to all environments, regardless of subscription tier.


Request Execution

LimitValueHow it is enforced
Results per request (limit)1 to 100Values above 100 are clamped; values below 1 return 422 invalid_request.
Response payload size~1 MiBResponses larger than ~1 MiB (after population and formatting) return 413 max_response_size_exceeded.
Request timeout60 secondsRequests exceeding 60 seconds return 408 request_timeout.
Secure timestamp window±15 minutesSecure signatures with Date headers outside this window return 401 authentication_required.

Flux API does not currently impose rate limits beyond these structural guards. Monitor usage dashboards if you need to track plan-level quotas.


Search & Query Limits

LimitValueBehavior
Join foldersUp to 3 folders per _searchAdditional joins return 422 too_many_join_folders.
Population depth3 levelspopulate paths deeper than three levels are ignored.
Full-text query length1,000 charactersfind_text/find_phrase queries are truncated to 1,000 characters.
Vector query length1,000 charactersvector_search.query is truncated to 1,000 characters; top_k and boost counts max out at 100 results.
Text search exclusivity1 per requestOnly one of find_text or find_phrase can be present.
Vector configurationRequired when using vector/hybrid modesOmitting vector_search when search_mode is vector, vector_boosted, or hybrid returns 422 invalid_request.

Pagination & Cursor Rules

RuleDescription
Cursor exclusivitynext and previous query parameters are mutually exclusive. If both are provided, Flux returns 422 invalid_request.
Cursor validityFlux returns absolute next/previous URLs. You may follow them directly or reuse the embedded cursor token.
Cursor lifetimeA cursor remains valid until the referenced resource is deleted. Deleting a resource invalidates cursors that point to it, resulting in 404 responses when re-used.

See the Pagination guide for end-to-end examples.


Limit Error Codes

Flux surfaces descriptive error codes whenever a delivery request hits one of the limits above. Handle them just like other Flux error responses.

Error codeStatusWhen it occurs
request_timeout408Request exceeded the 60-second timeout window. Retry with backoff.
max_response_size_exceeded413Response would exceed the ~1 MiB limit. Reduce limit, projections, or populate.
too_many_join_folders422_search.join references more than three folders.
invalid_request422General validation failure (e.g., limit < 1, both cursors provided, missing vector_search).
authentication_required401Secure signature too old/too far in the future or malformed.

If an error persists, inspect the request payload, reduce the requested data size, or split synchronization jobs into smaller batches. Contact support if you need higher technical limits.

Was this page helpful?