nível 0: pântano de POX (plain old XML)
utiliza o HTTP como sistema de transporte para interações remotas, mas sem adotar qualquer mecanismo adicional. possui apenas um único endpoint, e trafega dados em JSON ou XML.
nível 1: recursos
as informações são organizadas por recursos. não usa variedade de métodos HTTP, todas as operações são realizadas com GET ou POST.
nível 2: verbos
utiliza corretamente todos os métodos HTTP disponíveis.
nível 3: RESTful (hypermedia controls)
utiliza HATEOAS - se o mecanismo do estado do aplicativo não estiver orientado a hipertexto, a aplicação não poderá ser considerada RESTful.
HATEOAS
hypertext as the engine of application state, é uma constraint arquitetural de aplicações REST. as APIs HATEOAS oferecem informações que permitem a navegação dinâmica entre seus endpoints (incluindo links para os outros endpoints da mesma entidade no response, como PUT, GET, POST, DELETE etc).