make sure to catch parse errors - invalid data should raise 400 (Bad Request) , not 500 (unhandled server error).