HTTP

HTTP 201 Created vs 300 Multiple Choices

HTTP 201 (Created) is a 2xx Success response, while 300 (Multiple Choices) is a 3xx Redirection response. 201 indicates that the request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity. In contrast, 300 means that the request has more than one possible response. The client should choose one of them.

Description

The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.

When You See It

After successfully creating a new user, post, order, or other resource via a REST API.

How to Fix

No fix needed. Check the Location header for the URL of the new resource.

Description

The request has more than one possible response. The client should choose one of them.

When You See It

When a resource is available in multiple formats (e.g., different languages or media types).

How to Fix

Select the appropriate resource variant. Send an Accept header with your preferred content type.

Key Differences

1.

201 is a 2xx Success response, while 300 is a 3xx Redirection response.

2.

HTTP 201: The request succeeded and a new resource was created. Typically returned after POST or PUT requests that create a new entity.

3.

HTTP 300: The request has more than one possible response. The client should choose one of them.

4.

You encounter 201 when after successfully creating a new user, post, order, or other resource via a REST API.

5.

You encounter 300 when when a resource is available in multiple formats (e.g., different languages or media types).

When to Use Which

For 201 (Created): No fix needed. Check the Location header for the URL of the new resource. For 300 (Multiple Choices): Select the appropriate resource variant. Send an Accept header with your preferred content type.

Learn More