HTTP status codes / 5xx — Server errors
The server crashed or hit an unhandled error while processing.
The generic "something broke on our side": unhandled exceptions, null references, failed DB queries. The real information lives in the server logs, not in the response.
curl -i https://httpbin.org/status/500
Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
Capture the exact request that triggers it (an API client with history helps), check whether it is deterministic, and correlate timestamps with server logs or error trackers.
Server-side note: The truth is in server logs, not the response. Capture the exact failing request (an API client with history helps), check if it is deterministic, correlate timestamps with your error tracker.
The fastest way to pin down a 500 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
501 Not Implemented · 502 Bad Gateway · 503 Service Unavailable · 504 Gateway Timeout · 505 HTTP Version Not Supported · 506 Variant Also Negotiates — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.