[HttpPost] public ActionResult Transfer() { try { /// Make a transfer } catch (OutOfCreditException ex) { var problemDetails = new ProblemDetails { Status = StatusCodes.Status403Forbidden, Type = "https://example.com/probs/out-of-credit", Title = "You do not have enough credit.", Detail = "Your current balance is 30, but that costs 50.", Instance = HttpContext.Request.Path }; return new ObjectResult(problemDetails) { ContentTypes = { "application/problem+json" }, StatusCode = 403, }; } return Ok(); }