> One new alternative is GraphQL which is a query language and server that is able to combine REST endpoints into a single result - making the query a first class object.
I think it would be more correct to just say that GraphQL encourages queries as first class object as it exposes the entire schema and allows for granular querying.
Implementing it by composing REST APIs is, well, an implementation detail. There are other ways to do it too.