What if there was a website where software products and automations are listed.
You go to a product and you like the sound of the product. You want to take advantage of it.
You submit a request which describes what you want to do with the product. Your request is actually a program what is an imaginary
code API of using the product. The request is public, so everyone can see the request.
The API is written in a language which allows manipulation of collection classes, a bit like an Object Relational Model system such as Django or Hibernate.
You can provide stub data objects as part of your request.
You're essentially controlling the product with the API, even though that API doesn't actually exist yet.
This is how you WANT to interact with the product.
It's an example of what you WANT to do.
The authors of the product see your request and program a layer that fulfils the API so the API is actually a real way to interact with the complicated software.
The request creator can import the API and program against it. All the programs are tied to the original request.
The platform handles versioning of the APIs and marshalling between data structures. Since the imaginary APIs are public, you can depend on any of them.
This is like a platform for integrating software but APIs are designed by their users, not by their implementors.