A set of modules which can be called by a programmer in order to exercise the functions of the system in which the modules are embedded. For example, an email package would have an application interface which would allow programmers to write programs to process the contents of an email.