Primary tool for reading a filing's content. Pass a `document_id` from `list_filings` / `get_financials`. MANDATORY for any substantive answer - filing metadata (dates, form codes, descriptions) alone doesn't answer the user; the numbers and text live inside the document.
── RESPONSE SHAPES ──
• `kind='embedded'` (PDF up to ~20 MB; structured text up to `max_bytes`): returns `bytes_base64` with the full document, `source_url_official` (evergreen registry URL for citation, auto-resolved), and `source_url_direct` (short-TTL signed proxy URL). For PDFs the host converts bytes into a document content block - you read it natively including scans.
• `kind='resource_link'` (document exceeds `max_bytes`): NO `bytes_base64`. Returns `reason`, `next_steps`, the two source URLs, plus `index_preview` for PDFs (`{page_count, text_layer, outline_present, index_status}`). Use the navigation tools below.
── WORKFLOW FOR kind='resource_link' ──
1. Read `index_preview.text_layer`. Values: `full` (every page has real text), `partial` (mixed), `none` (scanned / image-only), `oversized_skipped` (indexing skipped), `encrypted` / `failed`.
2. If `full` / `partial`: call `get_document_navigation` (outline + previews + landmarks) and/or `search_document` to locate pages. If `none` / `oversized_skipped`: skip search.
3. Call `fetch_document_pages(pages='N-M', format='pdf'|'text'|'png')` to get actual content. Prefer `pdf` for citations, `text` for skim, `png` for scanned or oversized.
── CRITICAL RULES ──
• **Navigation-aids-only**: previews, snippets, landmark matches, and outline titles returned by the navigation tools are for LOCATING pages. NEVER cite them as source material - quote only from `fetch_document_pages` output or this tool's inline bytes.
• **No fallback to memory**: if this tool fails (rate limit, 5xx, disconnect), do NOT fill in names / numbers / dates from training data. Tell the user what failed and offer retry or `source_url_official`.
• Don't reflexively retry with a larger `max_bytes` - for big PDFs the bytes are unreadable to you anyway. Use the navigation tools instead.
`source_url_official` is auto-resolved from a session-side cache populated by the most recent `list_filings` call. The optional `company_id` / `transaction_id` / `filing_type` / `filing_description` inputs are OVERRIDES for the rare case where `document_id` didn't come through `list_filings`. Per-country document availability, format, and pricing - call `list_jurisdictions({jurisdiction:"<code>"})`.
Connector