{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/insurers-global/json-schema/insurers-global-insurer-schema.json",
  "title": "Insurer",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/insurers-global-openapi.json#/components/schemas/Insurer",
  "type": "object",
  "properties": {
    "id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Workbook row number; null for a row the daily register watch added, which was never a workbook row."
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "continent": {
      "type": "string",
      "enum": [
        "africa",
        "europe",
        "asia-pacific",
        "south-america",
        "north-america"
      ]
    },
    "country": {
      "type": "string",
      "description": "Country slug"
    },
    "countryName": {
      "type": "string"
    },
    "countryIso2": {
      "type": [
        "string",
        "null"
      ],
      "description": "null for composite markets"
    },
    "region": {
      "type": "string",
      "description": "Region slug"
    },
    "class": {
      "type": "string",
      "description": "Class of business slug"
    },
    "classCode": {
      "type": "string",
      "enum": [
        "G",
        "L",
        "C",
        "R",
        "T",
        "M",
        "X",
        "F",
        "H",
        "U"
      ],
      "description": "U = class not stated in the source register"
    },
    "group": {
      "type": "string",
      "description": "Parent / group text as the register records it. \"Independent\" when the register records no parent company. Read it as a parent organisation only when groupPlaceholder is false."
    },
    "groupSlug": {
      "type": [
        "string",
        "null"
      ]
    },
    "groupPlaceholder": {
      "type": "boolean",
      "description": "True when group does not name a parent organisation: the register recorded none and the value is an ownership style, a status, a NAIC group code, a domicile or a description of the entity. Absence of a parent is not evidence of independence."
    },
    "groupType": {
      "type": "string"
    },
    "groupTypeCode": {
      "type": "string",
      "enum": [
        "DO",
        "PA",
        "EU",
        "FM",
        "SO",
        "MU",
        "RG",
        "CP"
      ]
    },
    "regulator": {
      "type": "string"
    },
    "regulatorAcronym": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "ISO 4217"
    },
    "sourceBasis": {
      "type": "string"
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "verification": {
      "type": "string",
      "enum": [
        "verified",
        "partial",
        "unverified"
      ]
    },
    "lei": {
      "type": [
        "string",
        "null"
      ],
      "description": "Legal Entity Identifier where the register carries it"
    },
    "nationalId": {
      "type": [
        "string",
        "null"
      ]
    },
    "registeredSince": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "domicile": {
      "type": [
        "string",
        "null"
      ],
      "description": "United States rows only (absent elsewhere): USPS code of the state or territory of domicile, from the register row. Null for a Lloyd’s syndicate or alien reinsurer. See /countries/united-states/states.json."
    },
    "website": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "classBasis": {
      "type": [
        "string",
        "null"
      ],
      "description": "How the class was determined, e.g. \"Register category\" or \"Inferred from name\""
    },
    "groupBasis": {
      "type": [
        "string",
        "null"
      ]
    },
    "iaig": {
      "type": [
        "string",
        "null"
      ],
      "description": "Slug of the Internationally Active Insurance Group (IAIS register) that ultimately controls the parent, see /iaigs.json"
    },
    "iaigUrl": {
      "type": [
        "string",
        "null"
      ],
      "format": "uri"
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "identity": {
      "type": [
        "object",
        "null"
      ],
      "description": "GLEIF LEI record fields (legalName, legalAddress, headOfficeAddress, legalForm, registration, status, category), each as { value, source, seen }; null when the row has no LEI or was not yet collected",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "value": {},
          "source": {
            "type": "string",
            "format": "uri",
            "description": "Record the value was read from"
          },
          "seen": {
            "type": "string",
            "format": "date",
            "description": "Date the source was last read"
          }
        }
      }
    },
    "footprint": {
      "type": [
        "object",
        "null"
      ],
      "description": "Licensed footprint derived from GLEIF and the EIOPA register; null when not yet collected",
      "properties": {
        "parent": {
          "type": [
            "object",
            "null"
          ],
          "description": "A related legal entity from GLEIF Level 2 data",
          "properties": {
            "lei": {
              "type": "string"
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ],
              "description": "ISO alpha-2 of the legal address"
            },
            "slug": {
              "type": [
                "string",
                "null"
              ],
              "description": "Directory insurer slug when the LEI is listed"
            },
            "source": {
              "type": "string",
              "format": "uri",
              "description": "Record the value was read from"
            },
            "seen": {
              "type": "string",
              "format": "date",
              "description": "Date the source was last read"
            }
          }
        },
        "ultimateParent": {
          "type": [
            "object",
            "null"
          ],
          "description": "A related legal entity from GLEIF Level 2 data",
          "properties": {
            "lei": {
              "type": "string"
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ],
              "description": "ISO alpha-2 of the legal address"
            },
            "slug": {
              "type": [
                "string",
                "null"
              ],
              "description": "Directory insurer slug when the LEI is listed"
            },
            "source": {
              "type": "string",
              "format": "uri",
              "description": "Record the value was read from"
            },
            "seen": {
              "type": "string",
              "format": "date",
              "description": "Date the source was last read"
            }
          }
        },
        "branchOf": {
          "type": [
            "object",
            "null"
          ],
          "description": "A related legal entity from GLEIF Level 2 data",
          "properties": {
            "lei": {
              "type": "string"
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ],
              "description": "ISO alpha-2 of the legal address"
            },
            "slug": {
              "type": [
                "string",
                "null"
              ],
              "description": "Directory insurer slug when the LEI is listed"
            },
            "source": {
              "type": "string",
              "format": "uri",
              "description": "Record the value was read from"
            },
            "seen": {
              "type": "string",
              "format": "date",
              "description": "Date the source was last read"
            }
          }
        },
        "passportsTo": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "entries": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "country": {
                    "type": "string",
                    "description": "Host state, ISO alpha-2"
                  },
                  "basis": {
                    "type": "string",
                    "enum": [
                      "FoS",
                      "FoE"
                    ],
                    "description": "Freedom of services, or an EEA branch"
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Branch name when it differs"
                  }
                }
              }
            },
            "source": {
              "type": "string",
              "format": "uri",
              "description": "Record the value was read from"
            },
            "seen": {
              "type": "string",
              "format": "date",
              "description": "Date the source was last read"
            }
          }
        },
        "subsidiaries": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "controlled": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "branches": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "groupConflict": {
          "type": "boolean",
          "description": "The workbook group and the GLEIF parent point at different directory groups"
        }
      }
    }
  },
  "required": [
    "slug",
    "name",
    "continent",
    "country",
    "class",
    "classCode",
    "regulatorAcronym",
    "verification"
  ]
}