10 API Commandments for Providers
I was having one of my regular Google Hangouts with the OG API Evangelist John Musser (@johnmusser) the other day as I was flying back from east coast, and he made a comment about my classic API Evangelist drawing, and said I should write the ten commandments of APIs.
At first I thought, not my style, but on second thought, what the hell. Here they are:
- Deliver Value - Generate value for consumers, without value APIs mean nothing.
- Provide Documentation - Provide clean, simple, up to date API documentation for users.
- Code Libraries - Deliver code sample, libraries, SDKs, or starter projects in a variety of languages.
- Provide Support - If you don’t support your APIs, your efforts won’t be sustainable.
- Don’t Break Minimize Breaking Shit - You will never establish trust with consumers if you break your shit all the time.
- Business Model - Without a business model for your API, they will not be sustainable.
- Terms of Service - Establish TOS that protect your company's interests, but allow consumers to prosper and grow.
- Security - Establish solid security practices that keep your resources secure, while also protecting all users involved.
- Privacy - Passionately protect the privacy of your API consumers and end-users.
- Tell Stories - Craft and tell meaningful stories about the value your APIs deliver or nobody will will know or care about them.
These are my 10 commandments for API providers, and represent what I think are the 10 most important elements of delivering APIs. If you follow these 10 commandments, in your API design, development, deployment, and management you will find happiness. ;-)
These commandments won’t guarantee your success in the market, but they will guarantee that you will learn and grow in your API initiative, whether its internal or external—which in my opinion is the most important aspect of adopting an API way of life.
Update: Adjusting breaking shit, as John cites below. It is inevitable so minimizing is my advice.