An interface that is defined in terms of a set of functions and procedures, and enables a program to gain access to facilities within an application. A typical example would be a CASE tool that provides an API to enable users to develop special programs to utilize the information within the CASE tool’s internal database. The use of such facilities enables users to customize the application for their own purposes and to integrate the application into a customized development environment.