Logo
DevUtilsAll-in-one toolkit
Back to all codes
4054xx
4xx — Client Error

Method Not Allowed

The request method is known by the server but is not supported by the target resource.

What it means

The HTTP 405 Method Not Allowed response status code indicates that the request method is known by the server but is not supported by the target resource.

The server MUST generate an `Allow` header field in a 405 response containing a list of the target resource's currently supported methods.

How it works

  • 1The client sends a POST request to an endpoint that only accepts GET requests.
  • 2The server rejects it and returns a 405, along with an 'Allow: GET, HEAD' header.

Why you're seeing this

  • Using the wrong HTTP method (e.g. POST instead of GET).

How to fix it

  • Read the API documentation and ensure you are using the correct HTTP method (GET, POST, PUT, DELETE).

Framework Implementations

Next.js (App Router API)

export function GET(request) {
  return Response.json({ success: true });
}
// Next.js automatically returns 405 for POST, PUT, DELETE if they are not exported.

Real-Life Scenarios

Use this in REST APIs when an endpoint exists, but the user is using the wrong HTTP verb for it.

Wrong REST Verb

A developer tries to UPDATE a user by sending a POST to /api/users/123, but the server only accepts PUT or PATCH for that route.

HTTP Transaction

1. Client Request

POST /about HTTP/1.1
Host: example.com

2. Server Response

HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD
Content-Type: text/html

Method POST not allowed on /about

SEO Implications

None. Search engines only use GET (and occasionally HEAD) methods.

Related Codes