automatically augmenting functionality in an application programming interface is provided by receiving from an application a request for functionality to be fulfilled by a first component implementing at least a portion of the functionality within the application programming interface . the first component is queried for the requested functionality . if an indication that the first component does not implement the requested functionality is received , the a search for an augmentation component that implements the requested functionality is initiated . if an augmentation component supplying the required functionality is found , the augmentation component is loaded to fulfill the request for functionality in place of the first component and used to respond to the request for functionality . augmentation components provide a subset of the api &# 39 ; s required functionality , thereby removing a limitation from api components . augmentation components may also be used to provide new functionality for the api to all existing components .