REST (REpresentational State Transfer) is an architectural pattern that allows networked systems to communicate with each other. REST emphasises stateless, uniform, cacheable interfaces that have a clean separation between client and server.
The main abstraction in REST is a resource, which is any object with an associated URI (an API endpoint).
For example,
/itemscould represent a collection of items, and/items/<item>could represent a specific item.
Resources can have many different representations (JSON, protobuf, etc.). This is negotiated by both sides. Standard HTTP requests allow interaction with this data (GET to read, POST to add a new item, PUT to replace an item with newer data, DELETE to remove).