A response that omits fields when a header is present, implemented three years ago for one consumer and never documented.
// what was in the resource
if ($request->header('X-Client') === 'mobile') {
unset($data['description'], $data['metadata']);
}
// which is a sparse fieldset with:
// no name, no documentation, one hardcoded consumer,
// and no way for a second consumer to opt in
The behaviour was correct and the mechanism was a conditional keyed on a client name, which means the API has two shapes and only one is specified. Replacing it with fields= made the same saving available to everybody and made the mobile client’s request self-describing — and revealed that the mobile client had started reading description a year ago and had been getting nothing.