HTTP status codes / 4xx — Client errors
No representation exists for this URL — or the API hides that it does.
The most famous status code: the resource does not exist at this URL. APIs also use it to mask resources you are not allowed to see (instead of 403) so attackers cannot enumerate IDs.
curl -i https://httpbin.org/status/404
Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
Check the URL character by character — trailing slashes, IDs, API version segments (/v1/ vs /v2/) and environment (staging vs prod host) cause most "phantom" 404s.
Server-side note: Check the URL character by character, then confirm the host. Most "phantom" 404s are environment mix-ups.
The fastest way to pin down a 404 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.
400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 405 Method Not Allowed · 406 Not Acceptable — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.