What does HTTP status code 300 mean?
The 300 Multiple Choices status code indicates that the requested resource has multiple representations, each with its own location.
When to use it in APIs
Can be used in content negotiation where a resource is available in multiple formats (e.g. JSON, XML, CSV) and the client did not specify an Accept header. In practice this is rare — almost no real-world APIs implement server-driven negotiation this way, preferring a single default representation or a 406 when the Accept header can’t be satisfied.
How it compares to other codes
- 301 Moved Permanently: Directs to one single location, whereas 300 offers options.