500 Internal Server Error

The server hit an unexpected condition and could not complete the request.

Status code500
Status textInternal Server Error
Category5xx Server Error
Response has bodyUsually
SpecificationRFC 9110

What does 500 Internal Server Error mean?

The server hit an unexpected condition and could not complete the request. It belongs to the 5xx Server Error class, which means the server failed to fulfil an apparently valid request. The problem is on the server side.

When do APIs return 500?

An unhandled exception in the API — a null dereference, a failed database query, a bad deploy.

How to fix a 500 Internal Server Error

This is the server's fault, not your request's, so retrying the same call usually will not help. If you own the API, the real detail is in the server logs, not the response. If you do not, capture the exact request that triggers it — copy it as a cURL command — and send it to the provider. Sometimes a malformed edge-case input triggers a 500 that should have been a 400, so it is worth testing a simpler payload.

Reproduce a 500 response

The fastest way to understand a status code is to trigger one and read the full response. Open the API tester and send a request to https://httpbin.org/status/500 — you will see the 500 status along with every response header the server sent. Comparing those headers against a working request is often what reveals the cause.

When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.

Related 5xx status codes