What 500 means
A generic "something broke on our side". It's the server's bug or misconfiguration, not your request, though an unusual request can trigger it.
Common causes
- An unhandled exception or bug in the API's code.
- A database or dependency failure.
- Unexpected input the server didn't validate.
How to fix it
If you're calling an API
- Retry once or twice with backoff; it may be transient.
- Check the API's status page.
- If it's reproducible, report it to the provider with the request ID from the response headers.
If you run the server
- Check your error logs; validate input so bad requests return 4xx instead of crashing.
Should you retry?
A few times with exponential backoff, for idempotent requests.
Example response
HTTP/1.1 500 Internal Server Error
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Internal Server Error",
"status": 500,
"detail": "The server hit an unexpected error and couldn't complete the request."
}Defined in: RFC 9110 (HTTP Semantics). 500 is a server error: the problem is on the server's side.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.