An API defines the way that a piece of software communicates with other programs, allowing these programs to make use of its functionality. The API provides a series of commonly-used functions that third party developers might need. For example, an operating system vendor provides an API that allows developers to write applications that are consistent with the operating system. Typically, the API comes with a set of routines, modules and protocols that can be used to access the program’s functionality, known as an SDK (Software Development Kit).