Application programming interface

An application programming interface (API) is a set of clearly defined components used for developers to interact with software outside their control.

Description
An API provides s by which an application program can access the operating system and other services. An API is defined at the source code level and provides a level of between the application and the kernel (or other privileged utilities) to ensure the portability of the code.

An API can also provide an interface between a and  and services which were written without consideration for the calling conventions supported by compiled languages. In this case, the API's main task may be the translation of parameter lists from one format to another and the interpretation of and  arguments in one or both directions.