Magnolia's modern delivery system is highly customizable. Instead of just the one delivery API, like most Headless CMS, you configure whichever delivery API's you need. You control what content types are returned, what relationships are resolved, the depth of child nodes to return - all with simple YAML configuration files.
Magnolia's content lives in trees as well as lists, and the delivery API fully takes advantage of this. There are two key ways to access configured endpoints:
Given the path to a node, this interface returns that node and all its children (and further decendents), in their 'natural order', to the configured depth.
When 1 or more query parameters are included in the request, then all matching results are returned, following any requested ordering parameters.