API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. Each time you use an app like Facebook, send an instant message, or check the weather on your phone, you’re using an API. It is a set of functions that allows applications to access data and interact with external software components, operating systems, or micro-services. To simplify, an API delivers a user response to a system and sends the system’s response back to a user.
Example of an API?
When you use an application on your mobile phone, the application connects to the Internet and sends data to a server. The server then retrieves that data, interprets it, performs the necessary actions and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. This is what an API is – all of this happens via API.
The Modern API
Over the years, what an “API” is has often described any sort of generic connectivity interface to an application. More recently, however, the modern API has taken on some characteristics that make them extraordinarily valuable and useful:
- Modern APIs adhere to standards (typically HTTP and REST), that are developer-friendly, easily accessible and understood broadly.
- They are treated more like products than code. They are designed for consumption for specific audiences (e.g., mobile developers), they are documented, and they are versioned in a way that users can have certain expectations of its maintenance and lifecycle.
- Because they are much more standardized, they have a much stronger discipline for security and governance, as well as monitored and managed for performance and scale.
- As any other piece of productized software, the modern API has its own software development lifecycle (SDLC) of designing, testing, building, managing, and versioning. Also, modern APIs are well documented for consumption and versioning.
Different types of APIs:
There are four main types of APIs:
- Open APIs, i.e. Public APIs, are publicly available to developers and other users with minimal restriction. They may require registration, use of an API Key or OAuth, or maybe completely open. They focus on external users, to access data or services.
- Partner APIs are APIs exposed by/to the strategic business partners. They are not available publicly and need specific entitlement to access them. Like open APIs, partner APIs are the tip of the iceberg because they are the most visible ones and are used to communicate beyond the boundaries of the company. They are usually exposed to a public API Developer tool that developers can access in self-service mode. While open APIs are completely open, there is an on-boarding process with a specific validation workflow to get access to partner APIs.
- Internal APIs, aka private APIs, are hidden from external users and only exposed by internal systems. Internal APIs are not meant for consumption outside of the company but rather for use across different internal development teams for better productivity and reuse of services. A good governance process comprises exposing them to an internal API developer portal that connects to the internal IAM systems to authenticate and allow users to access the right set of APIs.
- Composite APIs combine multiple data or service APIs. They are built using the API orchestration capabilities of an API creation tool. They allow developers to access several endpoints in one call. Composite APIs are useful, for example, in a micro-services architecture pattern where you need information from several services to perform a single task.
Companies of all sizes can utilize APIs for website analytics, project and team management tools, online payment systems, and for many other operational solutions.
- Analytics: Google Analytics is a part of the Google Cloud API Platform and offers multiple API options that businesses can use for analytics. The most common APIs used are Core Reporting API and Management API.
- Project and Team Management: Tools like Jira, Basecamp, and Microsoft Teams provide communication between co-workers and data sharing functionality — and that all happens through API.
- Online Payment Systems: Where digital money transfers occur, there is an API supporting the process. Many organizations choose to utilize APIs from a firm such as PayPal to provide secure, safe money transfers to their customers.
- Automatization: It reduces the amount of tasks a worker has to do in the web platform. Instead, these tasks are programmed and executed from a computer and, in consequence, it increases the efficiency of the work flow. It is possible, for example, to get real time data without human intervention, or to run some actions in the platform after certain conditions.
- The users can customize the service, implement new functions or make analysis of the data according to their needs. Let’s say they can make a “tailored suit” for themselves, that they can also change or modify whenever they need.