Skip to content

5xx Server error

500 Internal Server Error

The server hit an unexpected error and couldn't complete the request.

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
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.

Often confused with

HTTP 500 FAQ

What does HTTP 500 mean?

500 Internal Server Error: The server hit an unexpected error and couldn't complete the request. 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.

Is 500 a client or server error?

It's a server error (5xx): the server failed to handle a valid request, so the fix is usually on the server's side.

How do I fix a 500 error?

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.

Should I retry after a 500?

A few times with exponential backoff, for idempotent requests.

Other 5xx status codes

All HTTP status codes