Now that I am trying to export our LSR data out to move to a different solution this year, I have had to immerse myself back into the API. In this case, exporting out custom product fields. Which we heavily rely upon due to the lack of comprehensive item elements in the base record.
I remembered the known glitch that pretty much breaks traditional REST API best practices. Best practices dictate if an element can be an array, it's always passed back in the JSON response as an array. For example, if a customer can have multiple phone numbers, but only one is defined in their record. Regardless, the response should be an array. In this handicapped REST API implementation, the response is passed back as just a singleton. So a workaround there to handle the either/or array/singleton elements that are so pervasive.
The one gotcha that blew my mind today involves the custom product fields. All items display these in the web UI item view. But if an item doesn't have any field values actually defined, the API response doesn't even pass back an empty set. The custom fields node isn't even present in the API response at all. Another workaround...lol.