Design a REST API you will love to work with

What are the common mistakes when one designs REST API and how to avoid them. Why is the client application (e.g. Single Page Application) a good test of REST API. Also, small introduction to HATEOAS.