Limits
Request sizes, names, retrieval limits, and webhook delivery bounds.
These limits define request sizes, identifiers, retrieval pages, and event delivery. They are API limits rather than tenant billing quotas.
Requests and resources
| Limit | Value | Meaning |
|---|---|---|
JSON request body | 1,048,576 bytes | Includes the complete serialized JSON body. :answer and research allow 6,291,456 bytes. :search and :read-spans allow 4,194,304 bytes. |
Inline text | 1,048,576 UTF-8 bytes | The surrounding JSON must also fit the request-body limit. |
Namespace, collection, key, or webhook name | 63 characters | Lowercase letters, digits, underscores, and hyphens; starts with a letter or digit. |
File path | 1,024 UTF-8 bytes | Leading slash; no trailing slash, control characters, or empty/dot segments. |
Files per collection | 1,000,000 | Maximum living file count. |
Idempotency retention | 86,400 seconds | 24 hours of replay protection for a retained request key. |
An oversized JSON body returns 413 request_too_large. Resource size limits can return 409 limit_exceeded. UTF-8 byte counts differ from character counts for many non-ASCII characters.
Retrieval and access
| Limit | Value |
|---|---|
Resource list page | Default 50, minimum 1, maximum 100 items. |
Resource list cursor | 3,600 seconds. |
Search page | Default 10, minimum 1, maximum 100 results. |
Search cursor | 2,400 seconds. |
Search or Answer text | 32,000 characters, including at least one non-space character. |
Answer history | At most 32 messages; each content string is at most 32,000 characters. |
Answer and Research time | 45 seconds for Answer, at either effort. 600 seconds for Research. A query image adds 45 seconds. |
Query image | 4 MiB after base64 decoding. |
Research run retention | 7 days after the run ends. |
Principals per retrieval request | 4,096. |
Readers per access rule | 1,024. |
Principal length | 256 UTF-8 bytes. |
Event delivery
| Limit | Value |
|---|---|
Webhooks per cluster | No limit. |
Allowed timestamp skew | 300 seconds, checked by the receiver. |
Response timeout | 30 seconds per POST. |
Events per POST | At most 500 events or 1,048,576 bytes. One larger event goes alone. |
Retry delays | 1, 2, 4, 8, 16, 32, and 64 seconds, then every 5 minutes, each ±10%. A longer Retry-After replaces a wait, up to 24 hours. |
Automatic disable | No 2xx answer for 72 hours, or one 410 answer. |
Secret rotation overlap | 0 to 604,800 seconds. Default 86,400. |
Delivery log and replay window | 30 days. |
Test webhook | The route waits up to 15 seconds for the POST. |
See Events webhooks for retry conditions, the delivery log, and replay.