A sparse fieldset that was invented by accident

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.