5xx Server error · RFC 9110 §15.6.2

501 Not Implemented

The server does not support the functionality needed to fulfil the request.

What 501 means

Usually the HTTP method itself is unknown to the server, for example PATCH or PROPFIND on a server that only speaks GET and POST. Compare with 405, where the method is known but not allowed on that resource.

Some applications also return 501 for endpoints that exist in the API spec but are not built yet.

Common causes

  • Unsupported HTTP method at the server level.
  • A stubbed endpoint.

How to fix it

  • Use a supported method or enable the module that implements it (for example WebDAV).

What it looks like

A typical response:

HTTP/1.1 501 Not Implemented
Allow: GET, HEAD, POST

The same event in an nginx access log (the status is the number after the request line):

203.0.113.7 - - [10/Sep/2026:10:12:01 +0000] "GET /api/orders HTTP/1.1" 501 153 "-" "Mozilla/5.0"

Check it with curl

-i prints the status line and headers, and -w '%{http_code}' prints only the number, which is handy in scripts and health checks. Replace the URL with yours:

curl -sS -o /dev/null -w '%{http_code} %{time_total}s\n' https://example.com/api/orders

Compare what curl sees with what the browser sees. A different status from the same URL usually means a cache, a CDN edge or a cookie is in the way.

Investigating a run of 501s? Paste the log excerpt into Log Share to get line numbers, highlighting and an expiring link for whoever is on call with you.

FAQ

501 vs 405?

405: the server knows the method but this resource does not allow it. 501: the server does not know the method at all.