https://www.chrisbehan.ca/posts/KnowledgeAsAnAPI

Complex technologies and concepts are not the result of omniscient individuals, but rather layers of knowledge, built upon, and composed of one-another. A Knowledge API is a mental model for thinking about the understanding of a specific domain as an Application Programming Interface. The APIs depend on and can be used by one-another. Each “call” in the API is likely aimed at a specific group of people who know what to do with the information provided — they’re the experts in that particular field. However, they don’t know how others will use this information.

A layer can be placed atop the current API which calls it and uses the information to abstract away another functionality (thus gradually building up the appearance of complexity). The process of knowledge APIs built on-top of one-another continues for hundreds (sometimes thousands) of layers, producing results that to the untrained eye appear magical. But there is no magic, just layers of abstractions masterfully crafted by experts of that knowledge API. Sometimes individuals, through years of hard work and deliberate practice, are able to understand and master multiple knowledge APIs, but no one understands all of them. Every domain can be thought of in terms of the composition of knowledge APIs. Knowledge APIs exist in every domain. Thinking about knowledge as an API, and accepting that APIs can be useful without understanding their implementation details, or the implementation details of their dependencies, can be a reassuring call to action.