How to design a good API

A good API is designed around the use-case. A poorly designed, around the API’s implementation details.