---
title: Limits
description: Request sizes, names, retrieval limits, and webhook delivery bounds.
doc_version: 0.1.0-preview
last_updated: 2026-09-14
---

# Limits

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](/engine/reference/events) for retry conditions, the delivery log, and replay.
## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
