It actually can be so hard. People who call these services that mainly expose
ad-hoc defined RPC interface "APIs" tend to overcomplicate their code. You get
plethora of endpoint URLs, GET parameters, methods, HTTP headers, and queries
encoded in JSON or XML or GraphQL or whatever sent in request body. It Ain't
No Simple Thing[tm] with this many dimensions.
Maybe, but that's a problem with the design of the program, and the contents of that response. An API is only the button board, not its layout or the colors of each button. That's up to the program designer.