An application programming interface (API) is a set of subroutine definitions and communication protocols for building software. APIs make it easier for developers to use certain technologies by abstracting implementation details and only exposing necessary objects and actions. The term API was first used in 1968. APIs are used for libraries, frameworks, operating systems, remote access, web services, and design. They allow modular programming by hiding complex implementation details from users. Common examples of APIs include OpenGL, OpenMP, DirectX, and Java APIs.