HTTP Status Codes

HTTP 405 Method Not Allowed

405
MediumWeb ServerReference page

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.

HTTP 405 visual summary showing the wrong action shape being rejected by a resource that only accepts a different method.
Visual summary: 405 means the target resource exists, but the specific HTTP method used is not allowed.

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.

  1. 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/path
  2. Send 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/path
  3. Register 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.

  4. 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.

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

01

A form submits a POST request to an endpoint that only supports GET

02

An API client sends DELETE to a route that was implemented for PATCH only

03

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.