An application program interface (API) is a software intermediary that enables software programs, such as decentralized applications, to communicate and share data with other programs without having to know the implementation details about the other. More specifically, it is the defined rules that specify how different programs can interact with a piece of software. For example, every time you browse the web, your browser communicates with the server, sending an HTTP "GET" request to retrieve the HTML, script, and stateful data to display to the user. When you create an account and password, your browser might send an HTTP "POST" request to the server's account creation API. HTTP is just one example of a broad category of how APIs facilitate cooperation between two distinct programs.