An Application Programming Interface (API) provides a standard interface or contract to consume its services over the internet. The API defines the structure of the input and output and remains constant over the life of an API version.
APIs are the contract between the client layer and the enterprise. They are consumer-oriented, that is, designed by the client, and they abstract the service implementation details from the client.
Coming back to the advent of social consumer companies, creating new applications meant not starting from scratch. For example, if my application needs to use geographical maps, I can make use of the Google Map APIs and build my application on top of that. Similarly, instead of building my own authentication model, I can make use of OAuth and use Google, Facebook, or Twitter as some of the OAuth providers.
This entire model...