HATEOAS implementation