Error Responses
ESS follows the RFC 9110 HTTP response status codes standard:
200 - 299
Associated with Successful responses.
300 - 399
Associated with Redirection responses.
400 – 499
Associated Client Error responses.
500 - 599
Associated with Server Error responses.
Per the RFC, error responses have status codes 400-599 (inclusive).
Error Response and Format
Error Response Fields
Starting in version 2.3, ESS services can provide more information when returning HTTP errors (i.e., HTTP status codes 400-599 ). Specifically, all ESS services follow RFC 9457 (Problem Details for HTTP APIs) . That is, all ESS services may include the fields specified in RFC 9457 to provide more information:
{
  "status": <status code>,
  "title":  "<summary>",
  "detail": "<additional description/details of the error>",
  "instance": "<OpenTelemetry Span Id>"
}status
title
Corresponding summary of the problem type.
detail
Additional details of the error.
instance
For example:
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Verifiable Credential does not match any configured shape",
  "instance": "a96e351460518c83"
}For UMA and OIDC Broker services, they continue, as in earlier versions, to follow RFC 6749 (OAuth 2.0), and the new RFC 9457 fields are added to their error response.
{
   "status": <status code>,
   "title":  "<summary>",
   "detail": "<additional description/details of the error>",
   "instance": "<OpenTelemetry Span Id>",
   "error": "<error code per RFC6749>",
   "error_description": "<optional error description  per RFC6749>",
   // ...
}For example:
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid DPoP in ID token.",
  "instance": "0e4e8d02a4597c57",
  "error": "request_denied",
  "error_description":"Invalid DPoP in ID token."
}You can correlate by the span ID if that particular span (unit of work) emits a log record. For more information on ESS’ support of OpenTelemetry, see Appendix: OpenTelemetry .
Error Response Format
- For all other services following RFC 9457 , the error responses return as as - application/problem+jsonmedia type.
Last updated