DX Audit app / notion
demo
minor open notion:rich-text-2000-limit

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

  1. 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.
  2. Split the same content into two segments of ≤2,000 characters each and resend.
  3. 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

Opus Audit run

Show all 4