HTTP Status Codes
HTTP 405 Method Not Allowed
Method Not Allowed — the resource exists but does not accept this HTTP method
A 405 Method Not Allowed response means the target resource exists, but the HTTP method used for the request is not allowed for that resource. Unlike a 404, the problem is not the URL itself. The resource is there, yet the server has decided that GET, POST, PUT, DELETE, or another method is not valid in that specific context. Many servers also send an Allow header listing accepted methods.
Visual summary
A quick reference view of how HTTP 405 works: The wrong tool or action shape being used on a specific target.

What 405 Means
The shortest useful reading of this status code.
Method Not Allowed means the resource exists but does not accept this HTTP method.
This status falls into the 4xx class, indicating a client-side error outcome for the request.
Quick read
Method Not Allowed
the resource exists but does not accept this HTTP method
How to fix 405
General informational guidance, not professional advice. Commands can affect your system or data — back up first and proceed at your own risk. FixerCode is an independent reference, not affiliated with any vendor mentioned.
Check which methods the resource allows
The server lists accepted verbs in the Allow header of the 405 response. Read it before changing the client.
curl -i -X OPTIONS https://example.com/pathSend the request with the correct verb
Match the client to the route contract. A form posting to a GET-only endpoint, or an API using DELETE where PATCH is expected, both produce 405.
curl -i -X POST https://example.com/pathRegister the method on the server route
If you own the backend, add the missing method to the router or relax the Nginx limit_except block for that location, then reload.
Answer CORS preflight on the server
Browsers send an OPTIONS preflight before some requests. The server must respond to it instead of returning 405.
curl -i -X OPTIONS -H 'Access-Control-Request-Method: POST' https://example.com/path
Technical Context
How this status behaves without turning the page into a repair guide.
Standard usage
A 405 response sits at the boundary between routing and application behavior. The server has successfully matched the target resource, but the method attached to the request is not part of the allowed contract for that route.
Technical nuance
That makes 405 different from 404 and 501. A 404 usually means the resource was not found, while a 501 suggests the server does not support the method class at all. A 405 is narrower: the method exists in HTTP, but this resource will not accept it.
Related HTTP Codes
Nearby HTTP status codes help clarify how 405 differs inside the same response family.
405
Method Not Allowed
the resource exists but does not accept this HTTP method
400
Bad Request
the server cannot process the request because it is malformed
404
Not Found
the server cannot find the requested resource at this URL
406
Not Acceptable
the server cannot produce a response matching the request headers
Common Causes
POST request sent to a read-only endpoint
A common condition that triggers a 405 response when the web server evaluates the transaction.
Route is registered for only a subset of methods
A common condition that triggers a 405 response when the web server evaluates the transaction.
OPTIONS or HEAD request reaches an unsupported handler
A common condition that triggers a 405 response when the web server evaluates the transaction.
Form action or API client uses the wrong verb
A common condition that triggers a 405 response when the web server evaluates the transaction.
Typical Scenarios
A form submits a POST request to an endpoint that only supports GET
An API client sends DELETE to a route that was implemented for PATCH only
A preflight or automation request uses a method the backend never registered
What To Know
A 405 is usually consistent for the same URL and method combination. If a route returns 200 for GET but 405 for POST, the issue is likely in the route contract or client behavior rather than in overall site availability.
Frequently Asked Questions
Common interpretation questions about HTTP 405.
Not necessarily. A 405 usually means the server found the resource but rejected the HTTP method used for the request.
A 404 means the resource could not be found at that URL. A 405 means the resource exists, but the method used for the request is not allowed there.
The endpoint may be implemented for a different method such as GET or PATCH, or the route contract may restrict writes to another URL entirely.