{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:invalid_scope"
        },
        "title": {
          "type": "string",
          "const": "Invalid scope"
        },
        "status": {
          "type": "number",
          "const": 400
        },
        "code": {
          "type": "string",
          "const": "invalid_scope"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:purpose_missing"
        },
        "title": {
          "type": "string",
          "const": "Purpose is required"
        },
        "status": {
          "type": "number",
          "const": 400
        },
        "code": {
          "type": "string",
          "const": "purpose_missing"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:invalid_request"
        },
        "title": {
          "type": "string",
          "const": "Invalid request"
        },
        "status": {
          "type": "number",
          "const": 400
        },
        "code": {
          "type": "string",
          "const": "invalid_request"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:not_found"
        },
        "title": {
          "type": "string",
          "const": "Not found"
        },
        "status": {
          "type": "number",
          "const": 404
        },
        "code": {
          "type": "string",
          "const": "not_found"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:idempotency_conflict"
        },
        "title": {
          "type": "string",
          "const": "Idempotency key already used"
        },
        "status": {
          "type": "number",
          "const": 409
        },
        "code": {
          "type": "string",
          "const": "idempotency_conflict"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:payload_too_large"
        },
        "title": {
          "type": "string",
          "const": "Request too large"
        },
        "status": {
          "type": "number",
          "const": 413
        },
        "code": {
          "type": "string",
          "const": "payload_too_large"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:rate_limited"
        },
        "title": {
          "type": "string",
          "const": "Try again later"
        },
        "status": {
          "type": "number",
          "const": 429
        },
        "code": {
          "type": "string",
          "const": "rate_limited"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:internal_error"
        },
        "title": {
          "type": "string",
          "const": "Request could not be completed"
        },
        "status": {
          "type": "number",
          "const": 500
        },
        "code": {
          "type": "string",
          "const": "internal_error"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:not_ready"
        },
        "title": {
          "type": "string",
          "const": "Service is not ready"
        },
        "status": {
          "type": "number",
          "const": 503
        },
        "code": {
          "type": "string",
          "const": "not_ready"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:domain_not_granted"
        },
        "title": {
          "type": "string",
          "const": "Domain is not granted"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "domain_not_granted"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:grant_revoked"
        },
        "title": {
          "type": "string",
          "const": "Grant is no longer active"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "grant_revoked"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:grant_expired"
        },
        "title": {
          "type": "string",
          "const": "Grant has expired"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "grant_expired"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:grant_exhausted"
        },
        "title": {
          "type": "string",
          "const": "Grant limit reached"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "grant_exhausted"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:dpop_required"
        },
        "title": {
          "type": "string",
          "const": "Sender proof is required"
        },
        "status": {
          "type": "number",
          "const": 401
        },
        "code": {
          "type": "string",
          "const": "dpop_required"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:dpop_invalid"
        },
        "title": {
          "type": "string",
          "const": "Sender proof is invalid"
        },
        "status": {
          "type": "number",
          "const": 401
        },
        "code": {
          "type": "string",
          "const": "dpop_invalid"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:safety_write_forbidden"
        },
        "title": {
          "type": "string",
          "const": "First-party confirmation is required"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "safety_write_forbidden"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:inference_forbidden"
        },
        "title": {
          "type": "string",
          "const": "Inference is not permitted"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "inference_forbidden"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:proposal_not_found"
        },
        "title": {
          "type": "string",
          "const": "Proposal was not found"
        },
        "status": {
          "type": "number",
          "const": 404
        },
        "code": {
          "type": "string",
          "const": "proposal_not_found"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:proposal_decided"
        },
        "title": {
          "type": "string",
          "const": "Proposal has already been decided"
        },
        "status": {
          "type": "number",
          "const": 409
        },
        "code": {
          "type": "string",
          "const": "proposal_decided"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:value_rejected"
        },
        "title": {
          "type": "string",
          "const": "Value does not match the vocabulary"
        },
        "status": {
          "type": "number",
          "const": 422
        },
        "code": {
          "type": "string",
          "const": "value_rejected"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:capability_not_granted"
        },
        "title": {
          "type": "string",
          "const": "Capability is not granted"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "capability_not_granted"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:advertising_ineligible"
        },
        "title": {
          "type": "string",
          "const": "Advertising permission is unavailable"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "advertising_ineligible"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:client_suspended"
        },
        "title": {
          "type": "string",
          "const": "Client is suspended"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "client_suspended"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:entry_limit_reached"
        },
        "title": {
          "type": "string",
          "const": "Entry limit reached"
        },
        "status": {
          "type": "number",
          "const": 409
        },
        "code": {
          "type": "string",
          "const": "entry_limit_reached"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:session_required"
        },
        "title": {
          "type": "string",
          "const": "Sign-in is required"
        },
        "status": {
          "type": "number",
          "const": 401
        },
        "code": {
          "type": "string",
          "const": "session_required"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:csrf_invalid"
        },
        "title": {
          "type": "string",
          "const": "Request could not be verified"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "csrf_invalid"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:reauthentication_required"
        },
        "title": {
          "type": "string",
          "const": "Recent sign-in is required"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "reauthentication_required"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:signup_unavailable"
        },
        "title": {
          "type": "string",
          "const": "Sign-up is not available"
        },
        "status": {
          "type": "number",
          "const": 403
        },
        "code": {
          "type": "string",
          "const": "signup_unavailable"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "urn:autonym:error:sign_in_failed"
        },
        "title": {
          "type": "string",
          "const": "Sign-in failed"
        },
        "status": {
          "type": "number",
          "const": 400
        },
        "code": {
          "type": "string",
          "const": "sign_in_failed"
        },
        "request_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        }
      },
      "required": [
        "type",
        "title",
        "status",
        "code",
        "request_id"
      ],
      "additionalProperties": false
    }
  ]
}
