What 301 means
The URL in the Location header replaces the old one for good. Browsers and search engines update their links. Clients may change a POST into a GET when following it; use 308 to prevent that.
Common causes
- The API or site moved (http → https, a new domain or a new path).
How to fix it
If you're calling an API
- Update your code to the new URL. Follow redirects (curl -L) in the meantime.
If you run the server
- Use 308 instead for API endpoints that receive POST, PUT or PATCH.
Should you retry?
Request the new URL from Location.
Example response
HTTP/1.1 301 Moved Permanently
Location: https://api.example.com/v2/itemsRelated headers: Location.
Defined in: RFC 9110 (HTTP Semantics). 301 is a redirection.