1xx — Informational
| Code | Name | Meaning |
| 100 | Continue | Initial part of a request was received; the client should continue sending the rest. |
| 101 | Switching Protocols | Server is switching protocols as requested, e.g. upgrading to a WebSocket. |
2xx — Success
| Code | Name | Meaning |
| 200 | OK | The request succeeded; the response body carries the requested representation. |
| 201 | Created | The request succeeded and a new resource was created as a result. |
| 202 | Accepted | The request was accepted for processing but hasn't completed yet. |
| 204 | No Content | The request succeeded but there's no body to return — common for a successful DELETE. |
| 206 | Partial Content | Returning only part of a resource, in response to a Range request. |
3xx — Redirection
| Code | Name | Meaning |
| 301 | Moved Permanently | The resource now lives at a new URL permanently; clients and search engines should update their references. |
| 302 | Found | A temporary redirect — the resource is temporarily at a different URL; the original URL should keep being used going forward. |
| 304 | Not Modified | The cached version the client already has is still valid; no body is sent. |
| 307 | Temporary Redirect | Like 302, but explicitly guarantees the request method and body are preserved on the redirect. |
| 308 | Permanent Redirect | Like 301, but explicitly guarantees the request method and body are preserved on the redirect. |
4xx — Client Error
| Code | Name | Meaning |
| 400 | Bad Request | The request is malformed — invalid syntax, bad JSON, missing required data. |
| 401 | Unauthorized | No valid authentication credentials were supplied. In a Laravel API using Sanctum, this is the typical response to a missing or expired token. |
| 403 | Forbidden | The credentials are valid, but the authenticated user isn't allowed to do this — also common from Sanctum/policy checks on an API once auth succeeds but authorization fails. |
| 404 | Not Found | No resource exists at this URL. |
| 422 | Unprocessable Entity | The request is well-formed but fails validation — Laravel's default status code when validation rules reject the input. |
| 429 | Too Many Requests | The client has hit a rate limit and should back off before retrying. |
Less common 4xx codes: 405 Method Not Allowed, 406 Not Acceptable, 408 Request Timeout, 409 Conflict, 410 Gone, 413 Payload Too Large, 415 Unsupported Media Type, 418 I'm a Teapot.
5xx — Server Error
| Code | Name | Meaning |
| 500 | Internal Server Error | An unhandled error occurred on the server — the generic catch-all for "something broke." |
| 502 | Bad Gateway | A proxy (e.g. Nginx) got an invalid response from the upstream app server, such as PHP-FPM. |
| 503 | Service Unavailable | The server is temporarily unable to handle the request — overloaded, or deliberately down for maintenance. |
| 504 | Gateway Timeout | A proxy didn't get a response from the upstream server in time. |
Less common 5xx codes: 501 Not Implemented, 505 HTTP Version Not Supported, 507 Insufficient Storage.