Here’s my follow-up to REST is the new SOAP: let’s talk about the Original REST
Pakal De Bonchamp

The thing that I never understand about HATEOAS is that, isn’t it basically moving the complexity from verbs to “relationships”?

It’s basically saying that to make an API change backwards-compatible, another set of API is introduced for this very purpose. But if such compatibility is possible for the back end anyway, just keeping the old API and publishing a new one alongside it also works, and is less confusing. In the end, what’s the benefit of adding this extra layer of complexity?