Anyone can build an API that works. It takes vision to build one that doesn't.
- Overcomplication is key. Make even the simplest task require several convoluted endpoints and bizarre data formats.
- Random errors. Sprinkle in sporadic, inexplicable errors to keep users on their toes. Bonus points for nonsensical error messages.
- Outdated documentation. Provide docs that are hopelessly out of date and riddled with typos and broken links.
- Inconsistent naming. Alternate between camelCase, snake_case and Randomly_capitalizedWords for endpoints and parameters.
- Unpredictable rate limiting. Allow dozens of requests per second some days and block all traffic for hours on others.
- No authentication or authorization. Leave the API wide open, so anyone can wreak havoc on your precious data.
- Non-standard HTTP methods. Replace boring old GET, POST, PUT and DELETE with YEET and FACEPALM.
- Useless data. Return nonsensical or irrelevant data with no practical value.
- No error handling. Let errors bubble up and crash your users' applications with spectacular flair.
- Never update. Abandon all hope of fixing anything. Let it languish for eternity.
Follow all ten and your API will be indistinguishable from the one your company already uses.