Documents in Payload can have relationships to other Documents. This is true for both Collections as well as Globals. When you query a Document, you can specify the depth at which to populate any of its related Documents either as full objects, or only their IDs.
Depth will optimize the performance of your application by limiting the amount of processing made in the database and significantly reducing the amount of data returned. Since Documents can be infinitely nested or recursively related, it's important to be able to control how deep your API populates.
For example, when you specify a depth
of 0
, the API response might look like this:
But with a depth
of 1
, the response might look like this:
To specify depth in the Local API, you can use the depth
option in your query:
To specify depth in the REST API, you can use the depth
parameter in your query:
Fields like the Relationship Field or the Upload Field can also set a maximum depth. If exceeded, this will limit the population depth regardless of what the depth might be on the request.
To set a max depth for a field, use the maxDepth
property in your field configuration: