What is API Management?
API management enables the creation, documentation, administration and monitoring of application programming interfaces (APIs). An API is an interface that applications use to submit web requests in a controlled manner. Some APIs are available for anyone to use, while others require controlled access. In a government context, this must be performed in a reliable and scalable environment, offering management tools to API owners and access tools to API consumers.
DataBC has been using Agile development methods to pilot and explore different API management solutions to enable:
Discovery and exploration of APIs;
- Consistent documentation;
- Standard and intuitive API consoles (for developers);
- Ability to provide anonymous or secure access;
- A geo-redundant system allowing for high availability; and
- Improved system monitoring, performance and memory management.
We host a lot of access-ready data from provincial Data Custodians. We want to provide a standard DataBC service offering for APIs associated with this data.
Our approach is to:
- Adopt open standards and the use of open source tools;
- Pursue a modular and loosely coupled design;
- Build a geo-redundant and load balanced system ; and
- Deliver a scalable architecture ready for increased usage in the future
DataBC creates and hosts numerous APIs used by the Province of BC. As the number of APIs increase, we strive to improve how they are managed. To achieve this, DataBC provides a sustainable and flexible toolset.
DataBC API Management Services are now available to Ministries within the Province of BC. This offering includes three main components which are described below.
Main components of DataBC API management:
- API Discovery and Exploration
- Interactive API Documentation
- Interact with and learn about APIs using API consoles. Here you can see a list of resources, parameters and code snippets. Examples include the Physical Address Geocoding web service, Geomark web service, and the BC Route Planner (API key required).
- View API specifications (Swagger definition files) in the BC Data Catalogue and on GitHub
- Learn how to create a Swagger definition using the DataBC implementation of Swagger Editor. This tool can also be used to generate server or client code to build applications.
- Using an open standard for API specifications also enables external viewers to display API consoles. A great example of this is the API List found on the BC Developer’s Exchange website.
- API Management and Security
- API keys to enable controlled access for client applications
- API rate control to provide bandwidth guarantee for major clients
- High availability
- Improved logging
- Multiple domains to choose from
We will continue to refine and expand on this service offering and we’ll keep you posted on our development journey.
Stay tuned for more blog postings featuring new API capabilities.