HTTP status codes / 4xx — Client errors

404 Not Found

In one sentence

No representation exists for this URL — or the API hides that it does.

What it means

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.

Common causes

Reproduce it in cURL

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.

How to debug it

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.

Related codes

400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 405 Method Not Allowed · 406 Not Acceptable — or the full reference.

Reproduce that 404 in 10 seconds.

Build the request, send it, read status + headers + timing — on your iPhone. Free to start.