Why do API connector requests sometimes return a 400 error?

I’ve just tested server side API via custom plugin to confirm that it still uses doapicallfromserver as expected

However, it doesn’t seem to be possible to return data from Client side API based on my research :confused: [1], [2]