| Code | Meaning |
|---|---|
| 200 | OK — request succeeded |
| 201 | Created — new resource created |
| 204 | No Content — succeeded, nothing to return |
| 301 | Moved Permanently |
| 302 | Found — temporary redirect (often an auth-gate bounce) |
| 304 | Not Modified — cached version is still valid |
| 400 | Bad Request — malformed request or missing required field |
| 401 | Unauthorized — missing or bad token/credentials |
| 403 | Forbidden — authenticated but not allowed (or path blocked, e.g. by .htaccess) |
| 404 | Not Found — file/path doesn't exist at that URL |
| 405 | Method Not Allowed — e.g. sent GET where POST is required |
| 408 | Request Timeout |
| 409 | Conflict — request conflicts with current state |
| 413 | Payload Too Large |
| 429 | Too Many Requests — rate limited |
| 500 | Internal Server Error — script crashed / fatal error |
| 501 | Not Implemented — server doesn't support the requested action |
| 502 | Bad Gateway — upstream server sent an invalid response |
| 503 | Service Unavailable — server overloaded, down, or timing out |
| 504 | Gateway Timeout — upstream server took too long to respond |
| 200 | Normal — call worked |
| 401 | Bad or missing token param |
| 404 | Wrong path — file doesn't exist there |
| 500 | PHP fatal error in the script itself (bad path, syntax error) |
| 503 | "upstream connect error / connection timeout" — server overloaded or briefly down; not a code problem, just retry after a few seconds |
Rule of thumb: 4xx = fix the request. 5xx = fix (or wait out) the server.