API design for humans

What makes a great API - documentation, sensible authentication and RESTful design