RESTful API
A RESTful API is a standardised data exchange interface that complies with the REST (Representational State Transfer) architectural style. REST was defined in 2000 by Roy Fielding, an American computer scientist. REST APIs are inspired by the way the web operates through client/server interactions. One advantage of a REST API is its versatility and compatibility with a wide range of information exchanges between software systems.
REST APIs are based on the HTTP protocol, which is one of the foundations of today’s internet. HTTP is designed to enable file transfers (primarily in HTML format) located via a URL. This makes it easier for REST APIs to be adopted by IT teams.
A client sends a request and the server returns a response. Requests sent to REST-compliant APIs contain all the information required to process them, which helps simplify the API’s use. These requests also rely on HTTP methods: PUT to modify or update the state of a resource (an object, file or record), GET to retrieve a resource, POST to create a resource, and DELETE to remove it.
Server responses can be delivered in multiple formats, such as JSON, XML, CSV or RSS.
A REST API follows several principles, including:
-
Client–server architecture
-
Statelessness
-
Cacheability
-
A uniform interface
-
A layered system
Despite these advantages, for an API to remain useful it must be easy to understand and therefore very well documented. To achieve this, developers often use tools such as Swagger, which can generate and maintain API documentation automatically as changes are made.
Thanks to its straightforward implementation for developers and IT administrators, its use of web standards, its support for versioning and automated documentation, REST has become essential for building web services.
In fact, RESTful APIs are used by major web players such as Google, Amazon, Facebook, LinkedIn, and many others.

