Thanks for the article Petr. Good read!
If I may add to the conversation, the way I like to explain what an API is is the following:
It’s the set of instructions one piece of software uses to communicate with another piece of software.
API’s are typically implemented at two levels:
- Between two applications: where one application makes use of the other applications’s API in order to perform some action. E.g. The API of a database (which is an application on it’s own), provides a structured way for some other application to input, extract and manipulate data in the database.
When one piece of software makes use of the API of another piece of software, this is called ‘consuming the API’.
The API documentation is the information on what the API can do for its ‘consumer’ and how the consumer can go about using that functionality (in the form of a set of conventions and instructions).