An Application Programming Interface (API) is an interface between components of a large software system. For every isolated component of the system an API handles the communication between the component and core. This way changes in the component can be isolated from corresponding changes in the core, thereby reducing the testing and debugging effort to the component only.
In general, APIs set a standard for dealing with low-level operations and introduce stability and uniformity in code. The most common example of an API is the database API, that encapsulates the database operations from core, such that core functions regardless of the database management system used.
This section deals with the event that the changes in the component are so large that the API has to be changed with it and hence the interaction between core and the component changes as well.