Probably we need some error handling here so that the server returns a `4xx` error instead of a `500` when sent bad JSON?