300 Multiple Choices

The resource has more than one representation, and the server is leaving the choice to the client.

Last updated . How this page is checked.

Status code300
Status textMultiple Choices
Category3xx Redirection
Response has bodyUsually
SpecificationRFC 9110

What does 300 Multiple Choices mean?

The resource has more than one representation, and the server is leaving the choice to the client. It belongs to the 3xx Redirection class, which means further action is needed to complete the request, usually following a different URL.

When do APIs return 300?

Rare in practice. A server that holds the same document in several formats or languages may answer 300 with a list of alternatives in the body, and a Location header naming the one it prefers. Most APIs settle the question with the Accept header and never send it.

How to fix a 300 Multiple Choices

If there is a Location header, follow it; clients that follow redirects do so automatically. Otherwise pick one of the URLs listed in the body. To avoid the round trip, send an Accept header that names the format you want, so the server has nothing left to ask.

Reproduce a 300 response

The fastest way to understand a status code is to trigger one and read the full response. Open the API tester and send a request to https://httpbin.org/status/300 — you will see the 300 status along with every response header the server sent. Comparing those headers against a working request is often what reveals the cause.

When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.

Related 3xx status codes

See also

  • 301 Moved Permanently — The resource has permanently moved to the URL in the Location header.
  • 302 Found — The resource is temporarily at a different URL, but future requests should still use the original.

References