HTTP 405 Method Not Allowed
The target route exists but rejects the HTTP verb. Server must supply allowed verbs via the Allow header.
curl -i -X GET https://httpbin.org/status/405 - • Submitting a POST payload to a static HTML file
- • API endpoint only accepts GET, but client sent POST or PUT
- ✓ Inspect the Allow header returned by the server
- ✓ Ensure client issues the designated HTTP method for this endpoint
Open the full tool: Convert cURL to Fetch, Python, or Go →
Status Reference & Causes
4xx Client Errors Status Codes Table
| Код | Название | RFC |
|---|---|---|
| 400 | Bad Request | RFC 9110 Section 15.5.1 |
| 401 | Unauthorized | RFC 9110 Section 15.5.2 |
| 403 | Forbidden | RFC 9110 Section 15.5.4 |
| 404 | Not Found | RFC 9110 Section 15.5.5 |
| 405 | Method Not Allowed | RFC 9110 Section 15.5.6 |
| 408 | Request Timeout | RFC 9110 Section 15.5.9 |
| 409 | Conflict | RFC 9110 Section 15.5.10 |
| 410 | Gone | RFC 9110 Section 15.5.11 |
| 418 | I'm a teapot | RFC 2324 / RFC 9110 Section 15.5.19 |
| 422 | Unprocessable Content | RFC 9110 Section 15.5.21 |
| 429 | Too Many Requests | RFC 6585 Section 4 |
FAQ
What does HTTP 405 Method Not Allowed mean?
The target route exists but rejects the HTTP verb. Server must supply allowed verbs via the Allow header. It is defined in RFC 9110 Section 15.5.6 as a 4xx Client Errors status code.
Is HTTP 405 an error on client or server side?
HTTP 405 is a client-side error (4xx), meaning the request itself was invalid, unauthorized, or malformed.
How can I test an HTTP 405 response in terminal?
You can use cURL with the -I flag to fetch headers only: curl -I https://httpbin.org/status/405