Any API interaction

Hi all !)
I’m interested in the question, is there an article somewhere on the Internet that details how the APIs of various programs interact with each other?
(any software from Adobe, Autodesk, “Windows forms”, and so on), for example, I want to run a script that will process my pictures in Photoshop, for this I need to call the following command from max:

pshop=CreateOLEObject"Photoshop.Application"
pshop.Visible=true
pshop.doJavaScript("Some script")

In turn, if you do this through Windows forms (C#), then you need to connect an external dependency to the project, and the command will look different:

using ps = photoshop;
ps.Application app = new ps.Application();
ps.Documents doc_arr = app.Documents;
app.DoJavaScript("Some script", null,null);

But again, I found this only on various forums, but how the hell did people who answered them on these forums find them?)
Why is there a difference in the code?, what commands can I use? where is the list of these commands? how should the architecture of my application be built in order to use all this correctly?)

How to google it correctly?) :upside_down_face:

If it’s not in the api documentation, the first thing to do is to read all the help(function) commands. If that’s not enough, dive in the code to read how it’s written.