A 2,000-character rich-text segment limit caused one chunking retry
Opus's workflow script embedded a 4,738-character JSON result in one code-block rich_text segment. The API returned a clear validation error with the exact field path, actual length, and 2,000-character maximum. Opus split the content across segments and succeeded; Sonnet's shorter output did not hit the limit. Current first-party request-limit documentation states the 2,000-character text.content limit, although the audit does not establish how visible that limit was in the March documentation path the agent followed. The measured friction is one failed page-create step and a bounded recovery, not an undocumented or silent constraint.
How can I reproduce this?
Requires: Notion internal connection token with access to a test page
- Append a code block whose single rich_text segment exceeds 2,000 characters: POST /v1/blocks/{page_id}/children with rich_text[0].text.content of ~2,500 characters.
- Split the same content into two segments of ≤2,000 characters each and resend.
- Read the block back.
Expected: The oversized segment returns HTTP 400 naming the exact field path and character count; the chunked variant returns 200; on read-back Notion has merged the segments — the limit is enforced on input only.
Evidence · transcript moments