Error Handling

When an error occurs, APIs will respond with a ProblemDetails, which is a machine-readable format for specifying errors in HTTP API responses based on

  • string Type : a URI reference [RFC3986] that identifies the problem type. This specification encourages that, when dereferenced, it provides human-readable documentation for the problem type (e.g., using HTML [W3C.REC-html5-20141028]). When this member is not present, its value is assumed to be "about:blank".

  • string Title : a short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).

  • int Status : the HTTP status code([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.

  • string Detail : a human-readable explanation specific to this occurrence of the problem.

  • string Instance : a URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.

  • IDictionary<string, object> Extensions : problem type definitions MAY extend the problem details object with additional members. Extension members appear in the same namespace as other members of a problem type.