This is a great article, but I'm missing GraphQL in this picture. It would ease so many of your points. It is made explicitly for data and to have a single API with the needed flexibility in mind. Did you investigate in that direction as well or considered it?
Data Engineer & Technical Author with 15+ years of experience. I enjoy maintaining awareness of new innovative and emerging open-source technologies.