Limits

These are the enforced caps. Length is Unicode code points after newline folding and trim, not UTF-16 String.length. There is no overage invoice and no storage add-on.

LimitValue
Body10,000 code points, or the published bodyMax when that is lower
Mentions per comment20
Page sizeDefault 50, maximum 100
Hosted meter1 GiB (1,073,741,824 bytes) of bodies plus mention user ids, per workspace and environment
Author tokenDefault 300 seconds, clamp 60–86400
operationId80 characters
Author id and resource ids200 characters. Author name 120. Empty state 200.
Publishable / secret / OAuth120 / 60 / 60 requests per 60 seconds per key or token id
Content writes30 per minute per workspace and author (create, reply, edit)

Delete, resolve, reopen, mark-read, export, and lists use the key limit only. They are not inside the 30 writes per minute bucket. The in-process limiter is per replica, so several processes multiply the effective cap.

The meter counts UTF-8 bytes of comment bodies plus UTF-8 bytes of mention userId strings. It does not meter ids, timestamps, display names, read markers, or thread status. Test and live each have their own 1 GiB row. At the cap, create, reply, and an edit that grows the meter return 403 quota_exceeded: Hosted Comments storage for this environment is at its 1 GiB cap. Reads, export, deletion, resolve, reopen, and mark-read still work. An edit that does not grow the meter succeeds.

Empty or whitespace-only text is validation_error. A configured bodyMax above 10000 is rejected. See configuration.

Related: Environments · Sessions · Troubleshooting