Given the Universal Turning Machine and the Church-Turing thesis in actuality all of programming except for assembler is pretty much some API or language trick.
The CPU often turns machine code into microcode, true, and that's a good point but it wasn't the point I was trying to make. Even in simpler processors that actually do directly execute the machine code, I think you can view that machine code as an API for controlling the processor system.