Sitelet https://funapi.dev/status/300

HTTP 300 Multiple Choices

The resource has several representations and the server is asking the client to pick one, usually listing them in the body and optionally suggesting one in Location.

Defined in RFC 9110 §15.4.1 — 300 Multiple Choices · MDN reference

Where you meet HTTP 300 in production

Close to unused on the modern web — content negotiation through Accept headers replaced it. It survives in a few package indexes, document archives and language-selection pages.

Why you would test it

A redirect your HTTP library will not follow automatically. Test what your client does when it receives one: most surface it as a failure, which is the honest outcome.

What your client should do about a 300

There is no standard machine-readable format for the choices, so a client cannot choose generically. If a Location is present, following it is reasonable; otherwise surface the list to a person.

300 versus the codes it gets confused with

Endpoints that return 300

1 endpoint in this playground answers with 300. Every one is free, needs no signup, and can be called from the browser or with curl.

Questions about HTTP 300

Do browsers follow a 300 automatically?
Only if it carries a Location header, and behaviour varies. Without one, the browser shows the response body.
Should an API ever return 300?
Rarely. Accept-based negotiation answering 200 or 406 is clearer for programmatic clients.

Other redirection codes

All HTTP status codes · All 39 mock REST APIs · Getting started guide

Last updated