{
  "$defs": {
    "ModuleId": {
      "enum": [
        "finance",
        "health",
        "autoshorts",
        "family",
        "system"
      ],
      "title": "ModuleId",
      "type": "string"
    },
    "Severity": {
      "enum": [
        "info",
        "success",
        "warning",
        "error",
        "critical"
      ],
      "title": "Severity",
      "type": "string"
    }
  },
  "additionalProperties": false,
  "properties": {
    "code": {
      "title": "Code",
      "type": "string"
    },
    "details_redacted": {
      "title": "Details Redacted",
      "type": "boolean"
    },
    "message": {
      "title": "Message",
      "type": "string"
    },
    "module_id": {
      "anyOf": [
        {
          "$ref": "#/$defs/ModuleId"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "occurred_at": {
      "format": "date-time",
      "title": "Occurred At",
      "type": "string"
    },
    "retryable": {
      "title": "Retryable",
      "type": "boolean"
    },
    "severity": {
      "$ref": "#/$defs/Severity"
    }
  },
  "required": [
    "code",
    "message",
    "severity",
    "retryable",
    "details_redacted",
    "occurred_at"
  ],
  "title": "ErrorEnvelope",
  "type": "object"
}
