Not entirely sure how I managed to have missed GraphQL so far, but THANK YOU for mentioning it. I have to refactor a REST api next month but I think I will throw it all out of the window and go with GraphQL instead.