HTTP status codes / 4xx — Client errors
The URL exists, but not for this HTTP method.
You hit a real route with the wrong verb — POST to a read-only endpoint, GET where only POST is defined. The Allow header in the response lists the methods that work.
curl -i -X DELETE https://httpbin.org/get
Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
Read the Allow header. A surprising number of 405s are PUT vs PATCH mix-ups or a missing trailing path segment that changes which route matches.
Server-side note: Read the Allow header in the response — it lists what the route accepts.
The fastest way to pin down a 405 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 404 Not Found · 406 Not Acceptable — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.