Chunk Types & Layout Exclusion

  • Every parsed chunk now carries a layout role: v3 query results, document chunks, and related chunks include a first-class chunk_type field classified from the parser’s block structure at indexing time. The closed set of values is body, table, heading, page_header, page_footer, footnote, and figure. chunk_type is null for unlabeled content: anything indexed before this shipped, plain-text and media files, and regions the parser returned without block structure.
  • Keep page furniture out of retrieval: pass exclude_chunk_types on v3 Query (for example ["page_header", "page_footer", "footnote"]) and matching chunks are excluded at retrieval time, before reranking, combined with filter when both are sent. Chunks with a null label always pass, so existing collections behave exactly as before. Unknown values return a 400 listing the allowed set, and excluding body adds a warning since body is a document’s primary text. The response always echoes exclude_chunk_types.
  • Reserved key: chunk_type is now reserved; writing it through custom_metadata is rejected on every write surface.
  • Applies to newly indexed documents: labels are written at indexing time, so re-index a document to pick them up. See Advanced Search & Relations for the full semantics.
© 2026 Captain