Ketting aims to become a generic Hypermedia client API (HATEOAS) for JavaScript and TypeScript, either via Node.js or in browsers. Which means that it supports a set of modern features that REST services might have. The idea is also to provide a RESTful interface for strictly following REST best practices.

The library uses the Fetch API and supports several data formats:

HAL, for Hypertext Application Language;

JSON: API;

Siren, a structured interface to represent entities;

Web Linking (HTTP Link header), a model of relationships between resources and types;

the HTML5 links.

Unlike most other libraries, Ketting does not rely on URIs, but on relationship types and links. Because a basic premise of building a good REST service is that URIs must be discovered and not hard-coded in an application.

Source : Official site