API: Difference between revisions

Content deleted Content added
No edit summary
Tags: Visual edit Mobile edit Mobile web edit
No edit summary
Tags: references removed Visual edit Mobile edit Mobile web edit
Line 1:
{{short description|Set of subroutine definitions, protocols, and tools for building software and applications}}
 
An '''application programming interface''' ('''API''') is a computing interface which defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees.<ref name="Fisher1">{{Cite web |url=https://books.google.com/books?id=YToEAAAAMBAJ&pg=PA6&dq=application+programming+interface#v=onepage |title=OS/2 EE to Get 3270 Interface Early |last=Fisher |first=Sharon |date=1989 |website=Google Books}}</ref> An API can be entirely custom, specific to a component, or it can be designed based on an industry standard to ensure interoperability. Some APIs have to be documented, others are designed so that they can be "interrogated" to determine supported functionality. Since other components/systems rely only on the API, the system that provides the API can (ideally) change its internal details "behind" that API without affecting its users.{{cn|date=May 2020}}
 
Today, with the rise of [[REST]] and [[SOAP]] over [[HTTP]], the term is often assumed to refer to APIs of such services when given no other context (see the [[#Web APIs|Web APIs]] section).