Other 2xx codes
All HTTP status codes in ASP.NET Core
2xx Success
The request created a new resource. The Location header should point to it.
In ASP.NET Core: Return it from POST endpoints that create something, with Created or CreatedAtRoute so the Location header is set.
The StatusCodes constant, HttpStatusCode enum name, reason phrase, class, and how EnsureSuccessStatusCode() and the standard resilience handler treat 201.
| Constant | StatusCodes.Status201Created |
|---|---|
| HttpStatusCode | HttpStatusCode.Created |
| Reason phrase | Kestrel sends Created |
| Class | 2xx, success |
| IsSuccessStatusCode | true |
| EnsureSuccessStatusCode() | does not throw |
| Standard resilience handler | does not retry it |
TypedResults.Created()
TypedResults.Created(uri)
TypedResults.Created<TValue>(uri, value)
TypedResults.CreatedAtRoute()
TypedResults.CreatedAtRoute(routeName, routeValues)
TypedResults.CreatedAtRoute<TValue>(value)
TypedResults.CreatedAtRoute<TValue>(value, routeName, routeValues)
Results.StatusCode(StatusCodes.Status201Created)
Results.Problem(statusCode: StatusCodes.Status201Created, detail: "...")Created()
Created(uri, value)
CreatedAtAction(actionName, value)
CreatedAtAction(actionName, routeValues, value)
CreatedAtAction(actionName, controllerName, routeValues, value)
CreatedAtRoute(routeName, value)
CreatedAtRoute(routeValues, value)
CreatedAtRoute(routeName, routeValues, value)
StatusCode(StatusCodes.Status201Created)
Problem(statusCode: StatusCodes.Status201Created, detail: "...")Checked on Kestrel: Results.Created(uri, value) returns 201.
What Results.Problem(statusCode: 201) sends (with AddProblemDetails()), as application/problem+json:
{
"title": "Created",
"status": 201,
"traceId": "0HNA1B2C3D4E5:00000001"
}A controller's Problem(statusCode: 201) sends a different body, because MVC only fills type and title for codes in ApiBehaviorOptions.ClientErrorMapping:
{
"status": 201,
"traceId": "0HNA1B2C3D4E5:00000001"
}Every response on this page was recorded from ASP.NET Core 10.0.12 on Kestrel in the Production environment; the HttpClient rows come from .NET 10.0.12 and Microsoft.Extensions.Http.Resilience 10.10.0.
All HTTP status codes in ASP.NET Core