Too Long; Didn't Read
An API behaves as an access point to an application, where you can do some operations and get some data from it. An API will provide a simple but yet powerful communication between components. The interface between components will be uniform, allowing them to be scalable, reliable, portable and modifiable. REST is an architectural style to design an API, with a set of constraints, governing REST. This means, no client or server is stored within the client and the client is Stateless. This is another constraint defined in the definition of REST.