> For a complete page index of the Captain API documentation, fetch https://docs.captain.dev/llms.txt?excludeSpec=true

# 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](/reference/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](/guides/advanced-querying) for the full semantics.