HATEOAS (see Richardson's Maturity Model level 3) is all about links, so with HAL Browser this would look something like this:
Root:
{ "_links": { "self": { "href": "/api/root" }, "api:group-add": { "href": "http://apiname:port/api/group" }, "api:group-search": { "href": "http://apiname:port/api/group?pageNumber={pageNumber}&pageSize={pageSize}&sort={sort}" }, "api:group-by-id": { "href": "http://apiname:port/api/group/id" (OR "href": "http://apiname:port/api/group?id={id}") } } }
The add would simply be a POST to that endpoint, and then you'd have 2 GET methods.
Then once you drill down to a particular group (say #1):
{ "Id" : 1, "Name" : "test", "_links": { "self": { "href": "/api/group/1" (OR "/api/group?id=1") }, "edit": { "href": "http://apiname:port/api/group/1" }, "api:delete": { "href": "http://apiname:port/api/group/1" }, "api:items-query": { "href": "http://apiname:port/api/bonus?groupId=1" } } }
Here, the edit would simply be a PUT, and then you'll need a DELETE (see level 2 of REST in that same link), as for the items, you probably know best if they are just a property, or another endpoint; you could even embed them to be returned in the same call that's retrieving a group.
create,detail,update,delete,search) into URIs? That's RPC, not REST.