Limits

Status: All values verified against source on 2026-10-30 (v2/api/worker.ts, v2/api/investigations.ts, v2/shared/hql.ts, v2/auth/auth.ts). A limit not listed here is not documented — read the source.

Exceeding a bound returns 400 (or 413/429 where noted). The server rejects first and queries second; there is no “trim and continue” behavior.

Request-level

BoundValueSource
JSON request body65,536 bytesreadBoundedText — 413 too_large
HQL / cube query body65,536 bytessame path
Encoded cube/load?query=65,536 bytesquery-string byte check
Content-Typeapplication/json on writesclient contract

Lists and paging

ListCapNotes
Events page100 (limit 1–100, default 50)next_cursor → before
Event detail: evidence100 rowsnewest first
Event detail: activity50 rowsnewest first
Search results20 (limit 1–20, default 10)combined types
Sources200approved only
Stories, briefs, runs, dashboards, investigations, Ops actions, admin audit100 eachaudit limit 1–100
Investigation items100 per investigation
Entity search results100
Entity relationships100

Strings and fields

FieldBound
Event search q≤ 200 chars
Search endpoint q2–120 chars
Story title / investigation item title1–240 chars
Story notes≤ 20,000 chars
Investigation item note≤ 5,000 chars
Entity display name1–200 chars
Entity description / relationship notes≤ 2,000 chars
Relationship type1–80 chars
Dashboard title1–160 chars
Dashboard description≤ 1,000 chars
Dashboard config JSON≤ 32,000 chars, schema-validated
Run idempotency_key8–128 chars of A-Za-z0-9._:-
Error code^[a-z][a-z0-9_]{0,63}$; message truncated at 300
Run error_code (callback)≤ 64 chars

HQL query

BoundValue
dimensions, measures≤ 20 each
filters≤ 50
order_by≤ 20
limit1–500
Filter value string≤ 1,000 chars
Filter array≤ 100 items
Name syntax^[a-z][a-z0-9_]{0,63}$
Top-level fieldsclosed set — unknown keys reject the document

Rates, quotas and time

BoundValueEffect
Email sign-in5 per 60 s per windowauth rate limit
Workspace run quotahourly429 run_quota_exceeded
Dispatch claim lease30 sconcurrency guard on runs
Automation dispatch fetch15 s timeoutambiguous → dispatch_unconfirmed
Run deadline (envelope)300 sfixed in dispatch contract
Callback signature window±5 min401 outside
Coordinatesfinite, lat ±90, lon ±180else invalid_event

See also