ManiRESTo

Using RESTful resources in an easy to reason about manner.

Including the good bit's of HATEOAS, heuristically applied to every-day API development.

Resources

Verbs

Status Codes

URIs

Notes

Enumerating Permissions

If a resource returns a 403 or 404 due to permissions, eg:

GET path/to/things/resource1 -> 403: Forbidden
GET path/to/things/resource2 -> 403: Forbidden
GET path/to/things/resource3 -> 400 

Consider providing collection level permissions (as well as maintaining Status Codes):

GET path/to/things -> 
  { 
    'resource1': { 'status': 403, 'uri': 'path/to/things/resource1' },
    'resource2': { 'status': 403, 'uri': 'path/to/things/resource2' },
    'resource3': { 
      'uri': 'path/to/things/resource3',
      'status': 400,
      'summary_field': 'I am a summary collection field'
    }
  }

TODO