A programming interface, Application Programming Interface (API), is an interface for the programmer, on which certain internal function sequences are abstracted. Such a programming interface consists of functions, constants and variables and provides commands, routines and macros coming from the operating system or an operating system extension as programming aids.
The programmer can access program libraries without having to modify the code for the application programs, provided that the syntax and semantics of the programming interface match those of the program library. Application programs can use this interface to cause the operating system to execute the actions provided by them. This allows the user to program various additional functions and thus extend the application programs with their own functions.
Programming interfaces are characterized by the programming language, the range of functions and the complexity. Since they are used in the most diverse application areas, one differentiates between function-oriented, file-oriented, protocol-oriented and object-oriented programming interfaces. They exist for application programs and databases for services and networks, for teleservices, web services and programming languages. While the communication of function-oriented programming interfaces is based on functions and identifiers, the file-oriented programming interfaces are concerned with file access and retrieval. With the protocol-oriented programming interfaces the independence of an operating system stands in the foreground.
Examples of programming interfaces include the Business Application Programming Interface( BAPI), Biometric Application Programming Interface( BioAPI), Common Application Programming Interface( CAPI), Messaging Application Programming Interface( MAPI), Speech Application Programming Interface( SAPI), Telephony Application Programming Interface ( TAPI) and various others.