405 Method Not AllowedWhat 405 Method Not Allowed means
HTTP 405 means the server recognizes the URL but the resource behind it doesn't accept the HTTP method you used — POST to a read-only route, GET on a webhook receiver, DELETE where it's disabled. Per the HTTP spec, the response should include an Allow header listing the methods the resource does accept, which makes 405 one of the most self-documenting errors in the protocol.
The subtle causes are more interesting than the obvious one. The classic trap is a redirect downgrade: you POST to http:// or to a URL missing its trailing slash, the server answers 301, and your HTTP client follows the redirect as a GET — which the endpoint rejects with 405. Your method was right; the URL wasn't final. Other causes include method-override headers your framework injects, and server configs that disable PUT or DELETE globally.
A 405 is deterministic routing logic, not reputation — with one caveat: a few anti-bot layers return unusual status codes, 405 included, to traffic they've classified as automated. If a browser can perform the same action, keep that possibility on the list.