It was literally extracted from the browser’s interaction model so… kinda?
Why do we need a separate concept for this thing called REST if it just reduces to hypermedia in the end?
Because REST is the formalisation of the interaction model. It was defined in a dissertation written about it. The very first section of the chapter is called “deriving REST”.
> But browsers already have HTML for this. Links are just <a> tags. POST endpoints are exposed with <form>, etc. Webpages.
HTML is not an interaction model, it’s a content-type (and one which assumes and requires human mediation).
REST was about formalising the underlying interaction model for machine contexts.
An HTML response is able to be parsed and interpreted by the browser, and doesn't need any special client code to interpret its meaning. It understands what's a link, and the actions it can perform on it just using the response itself.
I'd argue that it's still an API, since it's still parsed, interfaced with by the system. The major difference is that the interface is uniform.
Unfortunately, only browsers and search indexers seem to have caught on (and many sites are actively hostile to anything else)