If you’ve ever read tech blogs or magazines, you’ve probably seen the abbreviation API. It sounds solid, but what does it mean and why should you bother?

Let’s start with a simple example: human communication. We can express our thoughts, needs and ideas through language (written and spoken), gestures or facial expressions. Interaction with computers, applications, and websites requires user interface components: a screen with a menu and graphic elements, a keyboard, and a mouse.

The software or its elements do not need a graphical user interface to communicate with each other. Software products exchange data and functionality through machine-readable interfaces: APIs (application programming interfaces).

What is an API?
An API is a set of programming code that enables the transmission of data between one software product and another. It also contains the terms of this data exchange.

Application programming interfaces consist of two components:

Technical specification describing the data exchange options between solutions with the specification made in the form of a request for data processing and delivery protocols

Software interface written according to the specification that represents it.

Software that needs to access information (i.e. X hotel room rates for certain dates) or functionality (i.e. a route from point A to point B on a map based on a user’s location) from other software, calls its API while specifying the requirements of how the data/functionality should be provided. The other software returns data/functionality requested by the above application.

And the interface through which these two applications communicate is what the API specifies.

Red Hat specialists point out that APIs are sometimes considered contracts, where documentation is an agreement between the parties: “If the party first sends a structured remote request in a particular way, this is how the software in the second party will respond.” The API documentation is a developer manual that includes all the necessary information about how to work with the API and use the services it provides. We’ll talk more about documentation in one of the following sections.

Each API contains and is implemented by function calls: language declarations that request software to perform particular actions and services. Function calls are phrases composed of verbs and nouns, for example:

  • Start or end a session
  • Get amenities for a single room type
  • Restore or recover objects from a server.