A Representational State Transfer Application Programming Interface (REST API) is a simple and flexible design pattern that allows developers to communicate with applications or devices over the web. When a client makes a request to a server using a REST API, the server responds with the representation of a resource (for example, an HTML, XML, or JSON document), which contains hypermedia links that can be followed to change the state of the system.
Only the identifier of the first requested resource from the REST API needs to be known, as all other identifiers will be discovered. This allows the identifiers to change without having to inform the client beforehand, and it only allows for loose coupling between the client and server.