Field selection
http
GET /books?select=id,titleselect picks a sparse fieldset for the root resource, validated against the select.fields allowlist. Narrow an included relation the same way: select[author]=id,name.
select.fields also decides what a response carries when no select= is sent — unless the entity configures select.default, a narrower default projection applied only when the request sends no select= of its own (a client-supplied select= always wins outright, same as sort.default). select.fields is the one place to keep a column out of every response, regardless of select.default. See Allowed and Config keys.