HTTPREF
← Back to status codes

HTTP Status Code

201 Created

Success

The request succeeded and a new resource was created on the server.

HTTP status code reference, response example, common causes, fixes, and related status codes.

What does HTTP 201 Created mean?

HTTP 201 Created is a status code sent by a server to indicate the result of an HTTP request.

Status codes help browsers, APIs, apps, and backend systems understand whether a request succeeded, failed, was redirected, or needs additional action.

In practice, HTTP 201 Created usually appears when a server responds under specific request, validation, permission, or infrastructure conditions.

Response example

HTTP/1.1 201 Created
Location: /api/users/123

HTTP example

HTTP/1.1 201 Created

Relevant headers

Location
Location: /api/users/123

Common causes

  • New database record created
  • Resource created through POST request
  • API endpoint successfully created an item

Common mistakes

  • Assuming the status code alone explains the full backend issue
  • Ignoring related response headers that add important context
  • Treating temporary errors as permanent failures
  • Retrying too aggressively without checking the cause
  • Debugging the frontend only when the problem is server-side

How browsers and APIs use it

Browsers, APIs, and backend services use HTTP status codes to understand the outcome of a request. Depending on the status code, an application may render content, retry a request, redirect the user, show an error, or trigger a different flow in the client or server.

Developer note

Use 201 when your API creates a new resource. Returning a Location header is a good practice when the new resource has its own URL.

Client-side example

const response = await fetch("/api/users", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ name: "Chris" }),
});

if (response.status === 201) {
  console.log("User created");
}

Related status codes