This document discusses 5 anti-patterns to avoid when designing APIs:
1. Transparent Server - Exposing internal implementation details in the public API.
2. Chauvinist Server - Designing the API from the server's perspective and pushing the client to conform.
3. Demanding Client - Enforcing special client needs or limitations onto the API signature.
4. Assuming Server - Making assumptions about the client experience that should be client-defined.
5. Presumptuous Client - Taking on responsibilities inherently meant for the server.