---
layout: api_layout
title: Search API field reference
parent: /search-api.html
source_url: https://github.com/alphagov/search-api/blob/master/config/schema/field_definitions.json
---

## All fields
<%= table_of_properties(SearchApiReference.fetch_field_definitions) %>

---
layout: api_layout
title: Search API field reference
parent: /search-api.html
source_url: https://github.com/alphagov/search-api/blob/master/config/schema/field_definitions.json
---

Documents in Search API have a type, and each type can have different
fields.  In Elasticsearch all documents are represented with the same
"generic-document" type.  Search API uses its types to validate
incoming documents, and ensure that results it returns have all
necessary fields.

## All fields
<%= table_of_properties(SearchApiReference.fetch_field_definitions) %>

Clarify that Search API has types, even if ES doesn't
Clarify that Search API has types, even if ES doesn't
