Other 4xx codes
All HTTP status codes in ASP.NET Core
4xx Client error
Like 401, but the client must authenticate with a proxy (Proxy-Authenticate header).
In ASP.NET Core: Returned by proxies, not by APIs. HttpClient reports it when its proxy needs credentials.
The StatusCodes constant, HttpStatusCode enum name, reason phrase, class, and how EnsureSuccessStatusCode() and the standard resilience handler treat 407.
| Constant | StatusCodes.Status407ProxyAuthenticationRequired |
|---|---|
| HttpStatusCode | HttpStatusCode.ProxyAuthenticationRequired |
| Reason phrase | Kestrel sends Proxy Authentication Required |
| Class | 4xx, client error |
| IsSuccessStatusCode | false |
| EnsureSuccessStatusCode() | throws HttpRequestException: Response status code does not indicate success: 407 (Proxy Authentication Required). |
| Standard resilience handler | does not retry it |
Results.StatusCode(StatusCodes.Status407ProxyAuthenticationRequired)
Results.Problem(statusCode: StatusCodes.Status407ProxyAuthenticationRequired, detail: "...")StatusCode(StatusCodes.Status407ProxyAuthenticationRequired)
Problem(statusCode: StatusCodes.Status407ProxyAuthenticationRequired, detail: "...")What Results.Problem(statusCode: 407) sends (with AddProblemDetails()), as application/problem+json:
{
"type": "https://tools.ietf.org/html/rfc9110#section-15.5.8",
"title": "Proxy Authentication Required",
"status": 407,
"traceId": "0HNA1B2C3D4E5:00000001"
}A controller's Problem(statusCode: 407) sends the same body.
A bare StatusCode(407) in an [ApiController] also gets a ProblemDetails body automatically; Results.StatusCode(407) in a minimal API sends an empty body unless you add UseStatusCodePages().
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