Application Programming Interfaces, or APIs, define the data contract between two pieces of code. APIs used to be exclusively the domain of developers. In this post, I’ll show you how APIs provide the freedom for systems to evolve independently and create new opportunities for business growth. While APIs can exist at all levels of an application, I’ll focus here on the APIs that enterprise systems expose and consume.
APIs decouple the client
A key advantage to building an API layer is decoupling client applications from the back-end systems they require. This allows developers to create independent versions of applications and core systems. In fact, a well-designed API layer can allow a core system to be fully replaced with limited risk, as our company recently experienced with an insurance client of ours.
We didn’t set out to replace this client’s system of record, which was built and maintained by a third party. As we partnered with the client to transform their digital experience on desktop, tablet and mobile, we determined that a Node.js layer between the core system and the mobile applications would facilitate their mediation, aggregation and data transformation needs. The API layer was also made available to the client’s business partners, who found it more consumable than direct access to their core system. Importantly, it also allowed the client to replace their core system with one from a different vendor.
Migrating systems can be a very difficult and expensive undertaking. Many companies will stay on systems that have become antiquated or inadequate to support the growing needs of their business. While the API layer itself needed to be updated to integrate with the new core system, the client’s mobile and web applications—as well as their business partners’ integrations—continued to operate with few or no changes.
Just as the API layer provides the freedom to enhance core systems, it also allows client applications to iterate as needed to meet the needs of the end user. Abstracting the core systems from the front-end helps businesses to take a user-centric approach.
APIs building on existing investments
When a company provides access to its existing product or business processes through APIs, it can open up paths for new business.
New partnerships can emerge when a business can more widely expose their expertise. For example, the aforementioned insurance company was able to increase the distribution of their homeowners product by partnering with an insurance company that focused primarily on auto insurance. By making a quote API available, the auto insurance company could include our client’s quotes for home insurance. Together they could offer home and auto insurance together as a bundle. This bundled offering allowed the homeowners insurance company to reach a new set of potential customers.
APIs allow businesses to expose their services to new markets with the help of third-party developers. Take, for example, a brick-and-mortar photo printing company. Creating an internal API for various client applications (perhaps the website and in-store kiosks) to order photo prints in a uniform manner makes sense architecturally, but doesn’t necessarily drive new business through the door. However, by using a revenue-sharing model to encourage third-party developers to integrate their applications through an API, the company can dramatically reduced the friction for users to order photo prints from the apps they already use.
Single point of entry with APIs
Finally, building an API layer allows a single point of entry into disparate systems. Client applications can depend on an API layer with consistent patterns and conventions, even though the underlying systems are often built with different technologies, years apart and by different teams.
A common entry point allows a variety of client applications across to behave consistently across digital touchpoints. When your client applications only need to concern themselves with the modern API instead of an assortment of legacy core systems, development teams can focus on the features that provide the most value to users and the business.
Most businesses have legacy systems they’d replace if they had the opportunity. But often cost, complexity and risk prevent needed changes from happening. Building an API layer as the single point of entry between these systems and client applications limits risk when updating or replacing these core systems. Large-scale changes to core systems likely won’t happen overnight, but an API can serve as a layer of protection and flexibility when your business is ready.