An Application Programming Interface (API) is a concept that serves as a set of rules and protocols enabling two software applications to communicate and exchange data. It acts as a bridge or intermediary, allowing applications to interact without revealing their underlying code, which helps maintain security and control. The idea for this modular approach originated in the 1940s with the work of Maurice Wilkes and David Wheeler on a software library for the EDSAC computer. The term itself was first recorded in a 1968 paper on computer graphics. APIs became essential to solve the problem of monolithic software, where updating one part required reworking the entire system.
An API works by defining how a client application can request a service from a server application. The API specifies Endpoints (specific URLs) and Methods like GET to retrieve data or POST to send data. When a request is made, the API processes it and returns a response, typically formatted in JSON or XML. This mechanism is crucial for modern cloud services, e-commerce, and social media platforms. Related concepts include web services, where every web service is an API, and protocols like REST.
The API landscape is constantly evolving beyond traditional REST architecture. Recently, the industry has shifted to an API-First approach, prioritizing API design from the start of development. Furthermore, the integration of Artificial Intelligence (AI) agents is changing consumption, with AI systems making dynamic requests. Security standards have also been amended, with RFC 9700 making OAuth 2.0 security best practices mandatory.