REST is the underlying architectural principle of the web.
It is formalized as a set of constraints, described inRoy Fielding's PhD dissertation.
http://martinfowler.com/articles/richardsonMaturityModel.html
Hypermedia As The Engine Of Application State
It means that hypermedia should be used to find your way through the API. It is all about state transitions.
Your application is just a big state machine.
A resource can be anything, and can havemore than one representation. A representation describes resource state.
How the underlying resource should behave under HTTP?
What specifically will happen to application or resource state?
Some standards have a good protocol-level semanticsbut no application-level semantics (Collection+JSON, Atom).
Some standards define a lot of application-level semantics but no protocol semantics (Microformats, Microdata).
* as described in Richardson and Amundsen's "RESTful Web APIs" book
A profile is defined to not alter the semantics of theresource representation itself, but to allow clients tolearn about additional semantics, RFC 6906. It does not have to be machine-readable but it is recommended.
Don't define your own, please.
Short answer: no. Long answer: no, not yet. RESTful API must use hypermedia formats. JSON isnot a hypermedia format, The REST CookBook.
REST APIs are a myth, i.e. too complex in real life.
99.99% of the RESTful APIs out there aren’t fully compliantwith Roy Fielding’s conception of REST, Steve Klabnik.
Because of multiple round-trips and over-fetching,applications built in the REST style end up buildingad hoc endpoints, Facebook (on Relay/GraphQL).
Well-designed, pragmatic, and future-proof APIs.
Choose the JSON-LD format.