API Management Building Blocks
As I monitor the API space I am always on the hunt for the common building blocks that make up any area of my work--these are some of the common elements I have aggregated from across the world of API management.
- Login - A single location, with permalink which API consumers login to their accounts.
- Getting Started - Laying out simple, clear steps for developers on how to register, authenticate, access documentation and code samples, and get support and any other details that are essential to integration.
- Self-Service Registration - Providing a self-service registration for a developer portal, allowing developers to signup and get access to an API, 24 hours a day, 7 days a week.
- Best Practices - Publishing of a plain english introduction to the best practices around integrating with an API, providing introductory lesson for developers of how to properly integrate with an API.
- FAQ - Providing developers a list of the common questions asked of an API platform, with simple answers to each question, allowing them to understand the common problems faced during onboarding.
- Service Accord - Service level agreements (SLA) provide a legal framework managing the relationships between API consumers, and service accords provide a plain english explanation of what they expect from a provider, without the legaleze, in a format they can understand without calling the lawyers.
- Sign Up Email - Providing a simple, informative, personal email immediately upon signup, letting developers know what they need to onboard.
- Google Authentication - Allowing developers to create their API account using their Google account, and allowing the to login in the future using their Google oAuth.
- Github Authentication - Allowing developers to create their API account using their Github account, and allowing the to login in the future using their Github oAuth.
- Facebook Authentication - Allowing developers to create their API account using their Facebook account, and allowing the to login in the future using their Facebook credentials.
- Flexible Messaging Area - Provide a simple, flexible messaging area on the top or bottom of login or signup, providing consumers with simple updates about platform operations.
- Search - Provide a keyword search option for discovery across API operations.
- Github - Using Github for managing of code samples, libraries, SDKs, and other supporting elements of an API platform.
- Application Gallery - A gallery of all applications that have been built on top of an API platform, for the public and API community to explore.
- Open Source - Using open source licenses across any code samples, libraries, SDKs, and complete applications provided as part of aPI operations.
- Starter Projects - Offer fully functional applications that API developers can reverse engineer, and possible put to use as a starting point for their integrations.
- Community Supported Libraries - In addition to providing your own company developed libraries, showcasing the libraries of trusted developers fro within the API community.
- Code Builder - A tool allowing for the generation of client code for various API endpoint, for specific language or platform objectives.
- Code Page - A page dedicated to providing access to code resources, whether samples, libraries, SDKs, PDKs, or starter projects.
- SDKs.io - Making sure your profile on SDKs.io is complete, with up to date SDKs available so users can use in their integration.
- Blog - Providing a blog dedicated to API platform operations, with stories about the providers, consumers, and other related stories.
- Blog RSS Feed - Make sure there is an RSS feed for any blog that is published as part of API operations.
- Twitter - Provide an active Twitter account for support, as well as evangelism efforts around an APIs operations.
- Email - Provide an email for not just support, but also general platform communications.
- LinkedIn - Provide an active LinkedIn account for support, as well as evangelism efforts around an APIs operations.
- Facebook - Provide an active Facebook account for support, as well as evangelism efforts around an APIs operations.
- Google+ - Provide an active Google+ account for support, as well as evangelism efforts around an APIs operations.
- Email Newsletter - An email newsletter dedicated to cover news across platform operations, providing weekly summary of activity in the inbox.
- Instagram - Using Instagram as a way to communicate with platform users, and let users know there is someone home.
- Vimeo - Using Vimeo as a communication channel for educating users about an API platform.
- Youtube - Using Youtube as a regular content and communication channel to help users learn about platform operations.
- Chat - Providing a live chant mechanism in the developer portal, allowing developers to connect directly with API support and evangelists.
- Slack - Using Slack to create private channels just for communicating with internal, partner, or public API consumers.
- Case Studies - Offering a wealth of case studies of actual implementations that have occurred with an API , showing potential consumers what is possible.
- How-to Guides - Providing how-to guides that walk consumers through common aspects of API integration, giving them self-service resources they can use.
- White Papers - Offer white papers that educate consumers around topics that are relevant to the platform, consumers, and the industry that is being operated in.
- Webinars - Provide online webinars on a regular basis that API consumers can attend to learn about various aspects of platform operations.
- Events - Publish a page with information about any events the an API program will be attending, or maybe links to video and slide decks from past conferences.
- Slideshare - Publish a list of slide decks available on a Slideshare account, providing developers with access to past talks the API program has done.
- Codecademy - Creating courses on Codecademy, then publishing them within an API developer area, providing lessons for developers on how an API operates.
- Tour - Providing a guided tour of how a platform and API operates, allowing new developers to walk through all aspects of operations in an interactive or video format.
- Glossary - A glossary of terms that applies to an industry, platform, and the business or technical aspects of operations, providing API consumers who may not be familiar with sector or platform specific terms, with a dictionary they can use during integration.
- Videos - Provides video resources, helping people understand the API platform, how it can be put to use, and any other supporting areas of API operations.
Research & Development
- Labs - Offering a labs environment, that showcases ideas that are being developed internally and by partners, possibly even providing opportunities for public consumers.
- Ideas - Like showcase existing applications, an idea showcase is about providing a place where new and existing ideas can be shared, and potentially built upon by the community.
- Opportunities - Providing an area where aPI consumers can find opportunities available on the platform from potential projects, to posting job opportunities that are currently available.
- Sandbox - Provide developers a sandbox environment to develop and test their code, reducing headaches for consumers when developing their applications.
- Production - Offer a production environment in addition to a sandbox, allowing developers to push an application into production mode when it is ready.
- Simulator - Providing an environment where developers can find existing profiles, templates or other collections of data, as well as the sequence for simulating a particular experience via an API platform.
- Templates - Offering predefined templates of operation, when a new environment is setup, either sandbox, production, or simulator, it can be pre-populated with data, and other configuration.
- Developer Dashboard - Provide developers a single dashboard for getting at all their tools, metrics and information they need to successfully manage their usage.
- Account Settings - Provide developers access to their basic account detail and settings, giving them quick access to their account configuration and allow for easy updates.
- Reset Password - Provide the necessary tools for developers to gain access to their account if they lose their password.
- Application Manager - Providing an interface that allows developers to manage one or many applications that will be integrating with an API.
- Usage Logs & Analytics - Allowing developers to be able to see where they stand with usage, logging and other aspects of operations, by providing them reports and analytics of their history.
- Billing History - Provide clear and easy access to what a developer has been billed, allowing them to access and download their billing history around API usage.
- Message Center - Providing developers with a messaging system within their developer accounts, and communicate with API providers, and receive system updates.
- Github Authentication - Allow developers to create and login to their API developer account using their own Github account credentials.
- Delete Account - Giving developers the ability to delete their account from within their account portal.
- Service Tier Management - Allow developers to change the service tier they operate with in via their developer dashboard, without having to request changes from platform support.
- Terms of Service - Provide loose enough terms of service, that users can migrate their data from one platform to another, without violating the terms of service.
- Data Portability - Providing users with the ability to get data out of a system through a bulk download and via an API in a usable format that employs open standards.
- Automation - Offer ready to go integrations with popular API automation platforms like Zapier and IFTTT, allowing any user to migrate data between platforms.
- oAuth - Provides an identify and access layer for API driven resource, one that allows for reciprocity to occur within a single API ecosystem, and between multiple ecosystems.
- Integrations - Integrations showcase other 3rd party platforms that an API provider is already connected to, providing ready to go platform integration solutions that any developer can take advantage of.
- Mission - What is the mission of your company, organization, or government agency behind the platform.
- Team Showcase - Provide a simple team page, showcasing the team behind the API, including photos, personal stories or bios, and any relevant social media accounts like Twitter and Github.
- Documentation Language - Use a query string lang= parameter to set the language the API documentation should be speaking.
- Internationalization - Provide resources that help developers localize, and internationalize their applications to meet the needs of specific global markets.
- User Management - A user management API, enabling the ability to create, read, update, and delete information associated with a specific user.
- Account Management - An account management API, enabling users to create, read, update, and delete information associated with their account.
- Application Management - An application management API, allowing users to manage their registered applications, and get information about their consumption.
- Service Management - A service management API, providing users to see what services are available, and their access and usage levels for any given service.
I am always adding to, and shifting my lists of the common building blocks as I evolve my understand of the space, and who is doing interesting things with API depoyment.