HTTP status codes

In the docs, it seems like all error responses are written with heading “500 - Error”. Does this mean that all errors should respond with status code 500? Even if the cause is bad input where, say, 400 would be appropriate?

I think that 500 usually indicates a problem with the implementation, which might be misleading.

Is anyone going to respond to this?