HTTP · Schema

HTTP Problem Details

Schema describing the Problem Details for HTTP APIs format as defined in RFC 9457, providing a standardized way to carry machine-readable details of errors in HTTP response bodies.

NetworkingProtocolStandardsWeb

Properties

Name Type Description
type string A URI reference that identifies the problem type. When dereferenced, it should provide human-readable documentation for the problem type. The value 'about:blank' indicates that the problem has no addi
title string A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem (RFC 9457 Section 3.1.2).
status integer The HTTP status code generated by the origin server for this occurrence of the problem (RFC 9457 Section 3.1.3).
detail string A human-readable explanation specific to this occurrence of the problem (RFC 9457 Section 3.1.4).
instance string A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced (RFC 9457 Section 3.1.5).
View JSON Schema on GitHub

JSON Schema

http-problem-details.json Raw ↑
{
  "$id": "http-problem-details.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "HTTP Problem Details",
  "description": "Schema describing the Problem Details for HTTP APIs format as defined in RFC 9457, providing a standardized way to carry machine-readable details of errors in HTTP response bodies.",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "format": "uri",
      "description": "A URI reference that identifies the problem type. When dereferenced, it should provide human-readable documentation for the problem type. The value 'about:blank' indicates that the problem has no additional semantics beyond the HTTP status code (RFC 9457 Section 3.1.1).",
      "default": "about:blank",
      "examples": [
        "https://example.com/problems/out-of-credit",
        "about:blank"
      ]
    },
    "title": {
      "type": "string",
      "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem (RFC 9457 Section 3.1.2).",
      "examples": [
        "You do not have enough credit.",
        "Not Found",
        "Service Unavailable"
      ]
    },
    "status": {
      "type": "integer",
      "description": "The HTTP status code generated by the origin server for this occurrence of the problem (RFC 9457 Section 3.1.3).",
      "minimum": 100,
      "maximum": 599,
      "examples": [
        400,
        403,
        404,
        500,
        503
      ]
    },
    "detail": {
      "type": "string",
      "description": "A human-readable explanation specific to this occurrence of the problem (RFC 9457 Section 3.1.4).",
      "examples": [
        "Your current balance is 30, but the item costs 50.",
        "The requested resource was not found on this server."
      ]
    },
    "instance": {
      "type": "string",
      "format": "uri-reference",
      "description": "A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced (RFC 9457 Section 3.1.5).",
      "examples": [
        "/account/12345/transactions/67890",
        "urn:uuid:d9e35127-e9b1-4b3c-a0a5-6a83b2c4f5e6"
      ]
    }
  },
  "additionalProperties": true
}