{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/insurers-global/json-schema/insurers-global-former-entity-schema.json",
  "title": "FormerEntity",
  "description": "A company that no longer appears in the register under this name. Never a licensed insurer and counted in no total; kept so a policy naming an old company can be traced.",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/insurers-global-openapi.json#/components/schemas/FormerEntity",
  "type": "object",
  "properties": {
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "continent": {
      "type": "string",
      "enum": [
        "africa",
        "europe",
        "asia-pacific",
        "south-america",
        "north-america"
      ]
    },
    "event": {
      "type": "string"
    },
    "eventCode": {
      "type": "string",
      "enum": [
        "RN",
        "AQ",
        "MG",
        "TR",
        "WD",
        "FL",
        "LR"
      ]
    },
    "continuity": {
      "type": "string",
      "enum": [
        "continues",
        "transferred",
        "ended",
        "failed",
        "unknown"
      ],
      "description": "How the company stopped being listed under this name. A renamed, acquired, merged or transferred insurer keeps its licence; only \"failed\" indicates failure, and \"unknown\" means the disappearance is evidenced but its cause is not."
    },
    "eventDate": {
      "type": [
        "string",
        "null"
      ],
      "description": "ISO date or a bare year. Do not assume a full date."
    },
    "successor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Slug of the insurer listed today, or null when nothing survived."
    },
    "chain": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Every step from here to the surviving insurer, in order."
    },
    "source": {
      "type": "string"
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Present only for a former page the daily register watch created: the workbook row it replaced, or null when the watch had added that row itself."
    },
    "registerWatch": {
      "type": "object",
      "description": "Present only for a former page the daily register watch created.",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "rename",
            "remove"
          ]
        },
        "date": {
          "type": "string",
          "format": "date"
        },
        "sourceUrl": {
          "type": "string",
          "format": "uri"
        },
        "review": {
          "type": "string",
          "enum": [
            "bot-researched",
            "verified"
          ]
        }
      }
    },
    "status": {
      "type": "string",
      "description": "Short human label for continuity, e.g. \"Merged\"."
    },
    "summary": {
      "type": "string",
      "description": "One-sentence account of what happened, naming the successor when there is one."
    },
    "successorName": {
      "type": [
        "string",
        "null"
      ]
    },
    "successorUrl": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    }
  },
  "required": [
    "slug",
    "name",
    "country",
    "continent",
    "event",
    "eventCode",
    "continuity",
    "source"
  ]
}