06 Dec API
Application Programmer Interface. I define API as a predefined protocol for connecting two coded objects together for the purpose of information or process exchange. The coded objects may be of the same type, or different, and may be applications or applets, services or microservices, operating systems or solutions or embedded code that controls hardware. This is a very ambiguous term, and yet, as is common with many terms, the definitions cluster closely together.
Here is a definition that focuses on programmers working inside solutions: WeboPedia
Here’s one that emphasizes control systems such as operating systems: PCMag
Here’s another that dwells on applications or solutions interacting: ReadWrite
Kevin Stanton provides a definition of APIs that I think is most applicable in 2016. His definition is published at Sprout Social.
“API is a precise specification written by providers of a service that programmers must follow when using that service… It describes what functionality is available, how it must be used and what formats it will accept as input or return as output. In recent years, the term API colloquially is used to describe both the specification and service itself, e.g., the Facebook Graph API.”