{ "$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 }