Over the last 3 years I have looked at all the APIs available in ProgrammableWeb API directory, with about 2500 of which I monitor regularly. Throughout this process I've evolved an eye for what building blocks go into a successful API program.
When I review an existing API area or program, public or private, I spend as little or as much time as I need to look at an API initiative through the following 20 lenses:
- Overview - The general look, feel and initial impression of an API at the high level.
- Endpoints - Review of API endpoints, looking at the detail.
- On-boarding - How easy is it to get up and going? Where is the friction?
- Documentation - General API documentation review and critique.
- Authentication - What is involved with authentication and security.
- Code - A look at all available code libraries, SDKs, apps and language or platform availability.
- Mobile - Is there a mobile fit and how does an API address this world.
- Support - What do direct and indirect support practices look like and what are activity levels.
- Communications - How are communications handled, and is it done in a transparent way.
- Change Practices - How are updates, changes, and communication around the roadmap handled.
- Business Model - What is the business model of an API, how does it make ends meet.
- Resources - What resources are provided from how-to, case studies to videos and workshops.
- Research & Development - Does an API reflect a research & development group.
- Embeddable - How portable and embeddable are aspects of the API? Can it be distributed easily?
- Environment - A look at the underlying environment of the API, sandboxing, testing, monitoring, etc.
- Developers - What does this look like for a developer? What tools do we get to ensure success?
- Consistency - How consistent are API endpoints and the support resources, and the overall operations.
- Openness - If the API is public, to what degree of open are API efforts?
- Evangelism - What does outreach around the API look like, regarding events, social, storytelling, etc.
You can look across the building blocks I have listed for API management to get a better idea of the detail I'm looking for across API operations. These building blocks have been assembled through over 3 years of reviewing APIs, and can provide a good checklist to use when applying the above lenses.
Each review involves visiting an API area, applying the above 20 lenses, register and often times hack on an API. When done I write up a review report, which in many cases will be privately shared with a company and key stakeholders for review and discussion.
In some cases, when approved, I will publicly write up a review, providing a more polished view of an API area based upon final review report, and publish on my API Evangelist network of blogs.
The goal with a review is to better understand the balance of technology, business and politics going on within an API ecosystem, providing feedback that will help a company better achieve balance and success with their API initiative.