{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/valjeanspecialty/json-schema/valjeanspecialty-underwriter-flags-schema.json",
  "title": "UnderwriterFlags",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/valjeanspecialty-openapi.yaml#/components/schemas/UnderwriterFlags",
  "type": "object",
  "properties": {
    "submission_id": {
      "type": "string",
      "format": "uuid"
    },
    "flags": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "What kind of question, e.g. lump_sum_payroll, subs_insurance_unanswered, uninsured_subs, exposure_unrealistic, loss_runs_gap, loss_runs_stale, large_loss_undocumented."
          },
          "severity": {
            "type": "string",
            "description": "high: underwriters usually won't quote until it's answered.",
            "enum": [
              "high",
              "medium"
            ]
          },
          "title": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "description": "Why it stands out, from the facts on your file."
          },
          "question": {
            "type": "string",
            "description": "The question to answer ahead of time."
          }
        },
        "required": [
          "key",
          "severity",
          "title",
          "detail",
          "question"
        ]
      }
    },
    "note": {
      "type": "string"
    }
  },
  "required": [
    "submission_id",
    "flags",
    "note"
  ]
}