Overview of RESTful API Description Languages

RESTful (representational state transfer) API (application programming interface) DLs (description languages) are formal languages designed to provide a structured description of a RESTful web API that is useful both to a human and for automated machine processing.

Additionally, the description language is usually precise enough to allow automated generation of various software artifacts, like libraries, to access the API from various programming languages, which takes the burden of manually creating them off the programmers.

[2] The principle behind building RESTful APIs is known under the acronym HATEOAS (Hypermedia as the Engine of Application State).

In this approach, the client software is not written to a static interface description shared through documentation.

Instead, the client is given a set of entry points and the API is discovered dynamically through interaction with these endpoints.