It is a complete set of programming constructs that enables developers on the Internet, to access and integrate with web-based applications. The programming constructs, that are part of an API, include protocols, data structures, tools, and various routines that enable interaction between the web-based application and other subsidiary software constructs.