Today I learned the difference between 400 vs. 500 Errors.
“In REST, both 4xx and 5xx types of codes denote an error. The main difference between the two is whose fault that error is.
A 4xx code indicates an error caused by the user, whereas 5xx codes tell the client that they did everything correctly and it's the server itself who caused the problem.”