{
  "openapi": "3.1.0",
  "info": {
    "title": "Insurers Global API",
    "version": "2026-09-08+3f3925fad259",
    "summary": "Static, read-only JSON API for the Insurers Global directory of licensed insurance companies.",
    "description": "Every endpoint is a pre-rendered JSON file served from the Cloudflare edge with CORS enabled. There is no authentication and no rate limit beyond normal fair use. Slugs are stable lowercase identifiers used in page URLs. Attribute KAFS North America (Kenbright Actuarial and Financial Services North America) under CC BY 4.0.",
    "license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    },
    "contact": {
      "name": "Kenbright Actuarial and Financial Services North America",
      "url": "https://www.kenbright.ai/"
    },
    "termsOfService": "https://north-america.insurers.global/terms/",
    "x-mcp": {
      "endpoint": "https://north-america.insurers.global/mcp",
      "transport": "streamable-http",
      "authentication": "none",
      "health": "https://north-america.insurers.global/mcp/health",
      "serverCard": "https://north-america.insurers.global/.well-known/mcp/server-card.json",
      "configSchema": "https://north-america.insurers.global/.well-known/mcp-config"
    }
  },
  "externalDocs": {
    "description": "Agent guide: MCP server, WebMCP tools and this API",
    "url": "https://north-america.insurers.global/ai/"
  },
  "servers": [
    {
      "url": "https://north-america.insurers.global/api/v1"
    }
  ],
  "paths": {
    "/meta.json": {
      "get": {
        "operationId": "getMeta",
        "summary": "Dataset metadata, endpoint list and vocabularies",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/countries.json": {
      "get": {
        "operationId": "listCountries",
        "summary": "All covered countries with regulator and counts",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Country"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/countries/pages/{n}.json": {
      "get": {
        "operationId": "listCountriesPaged",
        "summary": "All covered countries, 20 a page",
        "description": "Compact JSON, 20 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Country"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/countries/{slug}.json": {
      "get": {
        "operationId": "getCountry",
        "summary": "One country including its full insurer list",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Country slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "canada"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/CountryDetail"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/countries/{slug}/insurers.json": {
      "get": {
        "operationId": "listCountryInsurers",
        "summary": "Full insurer list records for one country",
        "description": "Same entity fields as /insurers.json, limited to one covered market. This is a static file; filter and paginate locally.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Country slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "canada"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Insurer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/countries/{slug}/insurers/pages/{n}.json": {
      "get": {
        "operationId": "listCountryInsurersPaged",
        "summary": "Insurers of one country, 25 a page",
        "description": "Compact JSON, 25 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last. The largest market in this edition, United States, is unreadable unpaged.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Country slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "united-states"
          },
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Insurer"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/countries/united-states/states.json": {
      "get": {
        "operationId": "listUsStates",
        "summary": "The 56 US insurance regulators, by state and territory",
        "description": "One row per NAIC jurisdiction (50 states, the District of Columbia and five territories): the insurance regulator, its website, the chief official and whether that official is elected or appointed, capital, admission year, nickname, motto, and the count and class mix of insurers in this directory domiciled there. Reference data checked on referenceChecked, not register data; each insurer row carries its own domicile.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UsJurisdiction"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/countries/united-states/states/pages/{n}.json": {
      "get": {
        "operationId": "listUsStatesPaged",
        "summary": "US jurisdictions, 60 a page",
        "description": "Compact JSON, 60 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UsJurisdiction"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/insurers.json": {
      "get": {
        "operationId": "listInsurers",
        "summary": "All licensed insurers (4517 rows, about 14 MB)",
        "description": "Too large for most agent fetch tools. Read pages.first from this envelope, or start at /insurers/pages/1.json.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Insurer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/insurers/pages/{n}.json": {
      "get": {
        "operationId": "listInsurersPaged",
        "summary": "All licensed insurers, 25 a page",
        "description": "Compact JSON, 25 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Insurer"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/insurers/names.json": {
      "get": {
        "operationId": "listInsurerNames",
        "summary": "Every insurer as a lean row (4517 rows, about 1.6 MB)",
        "description": "Slug, name, country, class code and verification for the whole register, compact JSON, for enumerating every insurer. The envelope carries url and record templates: substitute the slug to reach the page or the full record. Paged at /insurers/names/pages/{n}.json.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InsurerName"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/insurers/names/pages/{n}.json": {
      "get": {
        "operationId": "listInsurerNamesPaged",
        "summary": "Every insurer as a lean row, 400 a page",
        "description": "Compact JSON, 400 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InsurerName"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/insurers/{slug}.json": {
      "get": {
        "operationId": "getInsurer",
        "summary": "One insurer with regulator detail and group siblings",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Insurer slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "canada-federated-insurance-company-of-canada"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/Insurer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/groups.json": {
      "get": {
        "operationId": "listGroups",
        "summary": "Multi-country insurance groups",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Group"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/groups/pages/{n}.json": {
      "get": {
        "operationId": "listGroupsPaged",
        "summary": "Multi-country insurance groups, 50 a page",
        "description": "Compact JSON, 50 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Group"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/groups/{slug}.json": {
      "get": {
        "operationId": "getGroup",
        "summary": "One group with its countries and entities",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Group slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "aig"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupDetail"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/footprint/{slug}.json": {
      "get": {
        "operationId": "getGroupFootprint",
        "summary": "Country × entity licensed footprint of one group (licences, branches, EEA passporting, GLEIF parents)",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Group slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "aig"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupFootprint"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/former.json": {
      "get": {
        "operationId": "listFormerEntities",
        "summary": "Companies no longer listed under that name, with what happened and where the business went",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FormerEntity"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/former/{slug}.json": {
      "get": {
        "operationId": "getFormerEntity",
        "summary": "One former company, its succession chain and the insurer listed today",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Former entity slug",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9-]+$"
            },
            "example": "central-america-and-caribbean-guardian-group"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/FormerEntity"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/changes.json": {
      "get": {
        "operationId": "listRegisterChanges",
        "summary": "Adds, renames, removals and class changes applied by the daily register watch",
        "description": "Every accepted change with its evidence and source. Read reviews with review \"bot-researched\" as unchecked by a person; \"verified\" means someone has checked the quote against the source.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegisterChange"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/changes/pages/{n}.json": {
      "get": {
        "operationId": "listRegisterChangesPaged",
        "summary": "Register changes, 50 a page",
        "description": "Compact JSON, 50 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegisterChange"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/iaigs.json": {
      "get": {
        "operationId": "listIaigs",
        "summary": "IAIS Register of Internationally Active Insurance Groups with directory footprint",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "pages": {
                      "type": "object",
                      "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
                      "properties": {
                        "pageSize": {
                          "type": "integer"
                        },
                        "pageCount": {
                          "type": "integer"
                        },
                        "first": {
                          "type": "string",
                          "format": "uri"
                        }
                      }
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Iaig"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/iaigs/pages/{n}.json": {
      "get": {
        "operationId": "listIaigsPaged",
        "summary": "IAIS register, 25 a page",
        "description": "Compact JSON, 25 rows a page and every page under 96 KB, for clients whose fetch tool caps the text it returns. Same records and order as the unpaged file; the union of the pages is the file. Each page links first, prev, next and last.",
        "parameters": [
          {
            "name": "n",
            "in": "path",
            "required": true,
            "description": "Page number, 1-based. Follow next until it is null.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer",
                      "description": "Rows across all pages"
                    },
                    "page": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "pageSize": {
                      "type": "integer"
                    },
                    "pageCount": {
                      "type": "integer"
                    },
                    "all": {
                      "type": "string",
                      "format": "uri",
                      "description": "The unpaged list file"
                    },
                    "first": {
                      "type": "string",
                      "format": "uri"
                    },
                    "prev": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the first page"
                    },
                    "next": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "uri",
                      "description": "null on the last page"
                    },
                    "last": {
                      "type": "string",
                      "format": "uri"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Iaig"
                      }
                    }
                  },
                  "required": [
                    "count",
                    "page",
                    "pageSize",
                    "pageCount",
                    "first",
                    "prev",
                    "next",
                    "last",
                    "data"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/regulators.json": {
      "get": {
        "operationId": "listRegulators",
        "summary": "Insurance supervisory authority and sourced social accounts per country",
        "description": "The socialMedia field records research status, checkedAt date, coverage notes and accounts. Country records include countryName, regulatorName and regulatorWebsite. Each account has platform, handle, nullable url, authority, sourceUrl, sourceType and checkedAt. Profile-matched records need official website confirmation; do not treat them as verified for automated use. Empty accounts mean no account verified, not no social presence. Parent institutions and coordinating bodies are identified in authority. Coverage is partial; recheck before automated use.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "socialMedia": {
                            "type": "object",
                            "properties": {
                              "country": {
                                "type": "string"
                              },
                              "countryName": {
                                "type": "string"
                              },
                              "regulatorName": {
                                "type": "string"
                              },
                              "regulatorWebsite": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "format": "uri"
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "official-source-linked",
                                  "profile-matched",
                                  "no-account-verified",
                                  "source-unavailable",
                                  "not-researched"
                                ]
                              },
                              "checkedAt": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "format": "date"
                              },
                              "note": {
                                "type": "string"
                              },
                              "accounts": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "platform": {
                                      "type": "string"
                                    },
                                    "handle": {
                                      "type": "string"
                                    },
                                    "url": {
                                      "type": [
                                        "string",
                                        "null"
                                      ],
                                      "format": "uri",
                                      "description": "Null for WeChat IDs without public profile URLs"
                                    },
                                    "authority": {
                                      "type": "string"
                                    },
                                    "sourceUrl": {
                                      "type": "string",
                                      "format": "uri"
                                    },
                                    "sourceType": {
                                      "type": "string",
                                      "enum": [
                                        "official-website",
                                        "institutional-profile"
                                      ]
                                    },
                                    "checkedAt": {
                                      "type": "string",
                                      "format": "date"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/vocab.json": {
      "get": {
        "operationId": "getVocabulary",
        "summary": "Class, ownership, region, verification and market labels in every published language",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/resolve.json": {
      "get": {
        "operationId": "getResolveIndex",
        "summary": "Entity resolution index: LEI → insurer slugs and website host → insurer slugs",
        "description": "Compact JSON, about 250 KB, for a client that wants every key at once. A client holding one identifier should fetch /resolve/lei/{lei}.json or /resolve/domain/{host}.json instead. Hosts are lower case with any leading \"www.\" removed; a host maps only to rows that publish it as their own website, never to a subsidiary through its parent.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "$ref": "#/components/schemas/ResolveIndex"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/resolve/lei/{lei}.json": {
      "get": {
        "operationId": "resolveLei",
        "summary": "The insurer(s) carrying one Legal Entity Identifier",
        "description": "One file per LEI in the register (ISO 17442, 20 characters, exact match); an LEI not in the register is a 404. Usually one row; a few LEIs sit on two rows because the entity holds a licence in two markets.",
        "parameters": [
          {
            "name": "lei",
            "in": "path",
            "required": true,
            "description": "Legal Entity Identifier, 20 upper-case alphanumeric characters",
            "schema": {
              "type": "string",
              "pattern": "^[A-Z0-9]{18}[0-9]{2}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResolveMatch"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/resolve/domain/{host}.json": {
      "get": {
        "operationId": "resolveDomain",
        "summary": "The insurer(s) whose published website is on one host",
        "description": "One file per host in the register: lower case, no scheme, port or path, any leading \"www.\" removed (mnyl.com.mx, not https://www.mnyl.com.mx/). A host not in the register is a 404. Each match says whether the website came from the register or from an accepted Wikidata record.",
        "parameters": [
          {
            "name": "host",
            "in": "path",
            "required": true,
            "description": "Website host, lower case, without a leading www.",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9.-]+\\.[a-z0-9-]+$"
            },
            "example": "mnyl.com.mx"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "dataset": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "verified": {
                      "type": "string",
                      "format": "date"
                    },
                    "licence": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResolveMatch"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/search-index.json": {
      "get": {
        "operationId": "getSearchIndex",
        "summary": "Compact [name, type, slug, country] tuples for client-side search",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "minItems": 4,
                    "maxItems": 4
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
        ]
      },
      "UsJurisdiction": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "USPS code, e.g. TX"
          },
          "slug": {
            "type": "string"
          },
          "fips": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "state",
              "district",
              "territory"
            ]
          },
          "capital": {
            "type": [
              "string",
              "null"
            ]
          },
          "admitted": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Year admitted to the Union; null for DC and territories"
          },
          "nickname": {
            "type": [
              "string",
              "null"
            ]
          },
          "motto": {
            "type": [
              "string",
              "null"
            ],
            "description": "In its original language"
          },
          "regulator": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "website": {
                "type": "string",
                "format": "uri"
              },
              "official": {
                "type": "string",
                "description": "Title of the chief insurance official"
              },
              "selection": {
                "type": "string",
                "enum": [
                  "elected",
                  "appointed"
                ]
              }
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "domiciled": {
            "type": "integer",
            "description": "Insurers in this directory domiciled here"
          },
          "byClass": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "flag": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "InsurerSummary": {
        "type": "object",
        "description": "Abbreviated register entity retaining verification, source and classification caveats",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "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"
          },
          "verification": {
            "type": "string",
            "enum": [
              "verified",
              "partial",
              "unverified"
            ]
          },
          "sourceBasis": {
            "type": "string"
          },
          "classBasis": {
            "type": [
              "string",
              "null"
            ],
            "description": "How the class was determined"
          },
          "groupBasis": {
            "type": [
              "string",
              "null"
            ],
            "description": "How the parent or group was determined"
          },
          "lei": {
            "type": [
              "string",
              "null"
            ],
            "description": "LEI where the register carries it"
          },
          "nationalId": {
            "type": [
              "string",
              "null"
            ],
            "description": "National register identifier if available"
          },
          "notes": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "required": [
          "slug",
          "name",
          "country",
          "class",
          "verification",
          "sourceBasis",
          "classBasis",
          "groupBasis",
          "lei",
          "nationalId"
        ]
      },
      "InsurerName": {
        "type": "object",
        "description": "The lean row of /insurers/names.json: enough to enumerate the register. The verification level is kept so an unverified row is never read as authoritative; the full record is at /insurers/{slug}.json.",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "country": {
            "type": "string",
            "description": "Country slug"
          },
          "classCode": {
            "type": "string",
            "enum": [
              "G",
              "L",
              "C",
              "R",
              "T",
              "M",
              "X",
              "F",
              "H",
              "U"
            ],
            "description": "U = class not stated in the source register"
          },
          "verification": {
            "type": "string",
            "enum": [
              "verified",
              "partial",
              "unverified"
            ]
          }
        },
        "required": [
          "slug",
          "name",
          "country",
          "classCode",
          "verification"
        ]
      },
      "ResolveIndex": {
        "type": "object",
        "description": "Keys are exact: the LEI as issued; the host lower case without a leading www.",
        "properties": {
          "lei": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Insurer slugs"
            }
          },
          "domain": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Insurer slugs"
            }
          }
        }
      },
      "ResolveMatch": {
        "type": "object",
        "description": "An InsurerSummary plus the identifier that matched. matchedBy.source is present for a domain match: \"register\" when the website is the register's, \"wikidata\" when it came from an accepted Wikidata record.",
        "allOf": [
          {
            "$ref": "#/components/schemas/InsurerSummary"
          }
        ],
        "properties": {
          "website": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "countryName": {
            "type": "string"
          },
          "api": {
            "type": "string",
            "format": "uri",
            "description": "The full record, /insurers/{slug}.json"
          },
          "matchedBy": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "enum": [
                  "lei",
                  "domain"
                ]
              },
              "value": {
                "type": "string"
              },
              "source": {
                "type": "string",
                "enum": [
                  "register",
                  "wikidata"
                ]
              }
            }
          }
        }
      },
      "Country": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "continent": {
            "type": "string",
            "enum": [
              "africa",
              "europe",
              "asia-pacific",
              "south-america",
              "north-america"
            ]
          },
          "iso2": {
            "type": [
              "string",
              "null"
            ]
          },
          "iso3": {
            "type": [
              "string",
              "null"
            ]
          },
          "isoNum": {
            "type": [
              "string",
              "null"
            ]
          },
          "composite": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "ISO alpha-2 codes of the jurisdictions a composite market combines"
          },
          "region": {
            "type": "string"
          },
          "regulator": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "acronym": {
                "type": "string"
              },
              "website": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              },
              "regime": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "registerSource": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "currency": {
            "type": "string"
          },
          "currencies": {
            "type": "array",
            "description": "ISO 4217 currencies of the market, primary first; empty for composite markets whose members share none. usdRate is local units per US dollar, year-average, from the World Bank (CC BY 4.0), or null where no series is published.",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "ISO 4217"
                },
                "name": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "decimalDigits": {
                  "type": "integer"
                },
                "countries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "usdRate": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "usdRateYear": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "rateSource": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rateLicence": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rateSeen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date"
                }
              }
            }
          },
          "total": {
            "type": "integer"
          },
          "byClass": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match."
          },
          "byGroupType": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "verification": {
            "type": "object",
            "properties": {
              "level": {
                "type": "string",
                "enum": [
                  "verified",
                  "partial",
                  "unverified"
                ]
              },
              "basis": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "register",
                  "statute",
                  null
                ],
                "description": "What the rows were checked against: the supervisor’s register, or, where no register is published, the statute that provides for the insurers. Null when unverified."
              },
              "status": {
                "type": "string"
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "corrections": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "marketNotes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "event": {
                  "type": "string"
                },
                "effect": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "api": {
            "type": "string",
            "format": "uri"
          },
          "insurersApi": {
            "type": "string",
            "format": "uri",
            "description": "Full insurer list for this market"
          },
          "insurersPagesApi": {
            "type": "string",
            "format": "uri",
            "description": "First page of the market's insurers, 25 a page"
          }
        }
      },
      "CountryDetail": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "continent": {
            "type": "string",
            "enum": [
              "africa",
              "europe",
              "asia-pacific",
              "south-america",
              "north-america"
            ]
          },
          "iso2": {
            "type": [
              "string",
              "null"
            ]
          },
          "iso3": {
            "type": [
              "string",
              "null"
            ]
          },
          "isoNum": {
            "type": [
              "string",
              "null"
            ]
          },
          "composite": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "ISO alpha-2 codes of the jurisdictions a composite market combines"
          },
          "region": {
            "type": "string"
          },
          "regulator": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "acronym": {
                "type": "string"
              },
              "website": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri"
              },
              "regime": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "registerSource": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "currency": {
            "type": "string"
          },
          "currencies": {
            "type": "array",
            "description": "ISO 4217 currencies of the market, primary first; empty for composite markets whose members share none. usdRate is local units per US dollar, year-average, from the World Bank (CC BY 4.0), or null where no series is published.",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "ISO 4217"
                },
                "name": {
                  "type": "string"
                },
                "symbol": {
                  "type": "string"
                },
                "decimalDigits": {
                  "type": "integer"
                },
                "countries": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "usdRate": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "usdRateYear": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "rateSource": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rateLicence": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rateSeen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date"
                }
              }
            }
          },
          "total": {
            "type": "integer"
          },
          "byClass": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "Counts by class count entities, not licences: every company appears once, under the class its register row records, and byClass sums to total. A regulator’s own per-class licence tally is broader and will not match."
          },
          "byGroupType": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "verification": {
            "type": "object",
            "properties": {
              "level": {
                "type": "string",
                "enum": [
                  "verified",
                  "partial",
                  "unverified"
                ]
              },
              "basis": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "register",
                  "statute",
                  null
                ],
                "description": "What the rows were checked against: the supervisor’s register, or, where no register is published, the statute that provides for the insurers. Null when unverified."
              },
              "status": {
                "type": "string"
              },
              "source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "corrections": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "marketNotes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "event": {
                  "type": "string"
                },
                "effect": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "api": {
            "type": "string",
            "format": "uri"
          },
          "insurersApi": {
            "type": "string",
            "format": "uri",
            "description": "Full insurer list for this market"
          },
          "insurersPagesApi": {
            "type": "string",
            "format": "uri",
            "description": "First page of the market's insurers, 25 a page"
          },
          "insurers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsurerSummary"
            }
          }
        }
      },
      "Regulator": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "acronym": {
            "type": "string"
          },
          "website": {
            "type": [
              "string",
              "null"
            ],
            "format": "uri"
          },
          "regime": {
            "type": [
              "string",
              "null"
            ]
          },
          "registerSource": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "Group": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "homeMarket": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "iaig": {
            "type": [
              "string",
              "null"
            ],
            "description": "IAIG slug when an Internationally Active Insurance Group controls the group"
          },
          "continents": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "africa",
                "europe",
                "asia-pacific",
                "south-america",
                "north-america"
              ]
            }
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insurers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entityCount": {
            "type": "integer"
          },
          "countryCount": {
            "type": "integer"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "FormerEntity": {
        "type": "object",
        "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.",
        "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"
        ]
      },
      "RegisterChange": {
        "type": "object",
        "description": "One accepted change from the daily register watch, applied on top of the workbook by scripts/build-data.mjs: an add from the watch itself (review \"bot-researched\" until a person checks it), or a rename, removal or class change the owner accepted.",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "add",
              "rename",
              "remove",
              "class_change"
            ]
          },
          "date": {
            "type": "string",
            "format": "date"
          },
          "country": {
            "type": "string",
            "description": "Country slug"
          },
          "continent": {
            "type": "string",
            "enum": [
              "africa",
              "europe",
              "asia-pacific",
              "south-america",
              "north-america"
            ]
          },
          "company": {
            "type": "string"
          },
          "previousName": {
            "type": [
              "string",
              "null"
            ],
            "description": "The name the directory held before a rename; null otherwise."
          },
          "class": {
            "type": [
              "string",
              "null"
            ],
            "description": "Class of business slug, or null when the register states none."
          },
          "evidence": {
            "type": "string",
            "description": "A verbatim quote from the register text"
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri"
          },
          "review": {
            "type": "string",
            "enum": [
              "bot-researched",
              "verified"
            ]
          },
          "reviewedOn": {
            "type": [
              "string",
              "null"
            ],
            "format": "date",
            "description": "When a person checked the change; null while still bot-researched."
          },
          "slug": {
            "type": "string",
            "description": "The page this change resolves to: a live insurer page for an add, rename or class change, or the former page at the removed row’s own address for a removal."
          },
          "formerSlug": {
            "type": [
              "string",
              "null"
            ],
            "description": "For a rename, the old slug that now carries the former page; null otherwise."
          },
          "group": {
            "type": "string",
            "description": "The ownership group named in the evidence, when given."
          }
        },
        "required": [
          "id",
          "type",
          "date",
          "country",
          "continent",
          "company",
          "evidence",
          "sourceUrl",
          "review",
          "slug"
        ]
      },
      "GroupDetail": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "homeMarket": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "iaig": {
            "type": [
              "string",
              "null"
            ],
            "description": "IAIG slug when an Internationally Active Insurance Group controls the group"
          },
          "continents": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "africa",
                "europe",
                "asia-pacific",
                "south-america",
                "north-america"
              ]
            }
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insurers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entityCount": {
            "type": "integer"
          },
          "countryCount": {
            "type": "integer"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "countriesDetail": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "insurersDetail": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InsurerSummary"
            }
          }
        }
      },
      "Iaig": {
        "type": "object",
        "description": "One row of the IAIS Register of Internationally Active Insurance Groups, joined to the directory",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "Name as printed in the IAIS register"
          },
          "shortName": {
            "type": "string"
          },
          "supervisor": {
            "type": "string",
            "description": "Group-wide supervisor"
          },
          "supervisorAcronym": {
            "type": [
              "string",
              "null"
            ]
          },
          "jurisdiction": {
            "type": "string"
          },
          "note": {
            "type": [
              "string",
              "null"
            ],
            "description": "How the register entry was mapped to directory parents"
          },
          "groupNames": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Parent / group names in the directory controlled by this IAIG"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Multi-country group slugs"
          },
          "continents": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "africa",
                "europe",
                "asia-pacific",
                "south-america",
                "north-america"
              ]
            }
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "insurers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entityCount": {
            "type": "integer"
          },
          "countryCount": {
            "type": "integer"
          },
          "inDirectory": {
            "type": "boolean"
          },
          "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"
          }
        }
      },
      "FootprintEdge": {
        "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"
          }
        }
      },
      "PassportEntry": {
        "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"
          }
        }
      },
      "GroupFootprint": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "enriched": {
            "type": "boolean",
            "description": "Whether any entity has data beyond its licence"
          },
          "countries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "verification": {
                  "type": "string",
                  "enum": [
                    "verified",
                    "partial",
                    "unverified"
                  ]
                },
                "sourceBasis": {
                  "type": "string"
                },
                "classBasis": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "How the class was determined"
                },
                "groupBasis": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "How the parent or group was determined"
                },
                "lei": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "LEI where the register carries it"
                },
                "nationalId": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "National register identifier if available"
                },
                "class": {
                  "type": "string"
                },
                "group": {
                  "type": "string"
                },
                "groupPlaceholder": {
                  "type": "boolean"
                },
                "licensedIn": {
                  "type": "string",
                  "description": "Country slug of the licence"
                },
                "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"
                    }
                  }
                },
                "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"
                    }
                  }
                },
                "branches": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "passportsTo": {
                  "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"
                      }
                    }
                  }
                }
              }
            }
          },
          "matrix": {
            "type": "object",
            "description": "matrix[countrySlug][insurerSlug] = \"licence\" | \"branch\" | \"fos\"",
            "additionalProperties": {
              "type": "object",
              "additionalProperties": {
                "type": "string",
                "enum": [
                  "licence",
                  "branch",
                  "fos"
                ]
              }
            }
          }
        }
      },
      "PagesHeader": {
        "type": "object",
        "description": "Where the paged series of this list starts. Placed before data so a client whose fetch was cut off still reads it.",
        "properties": {
          "pageSize": {
            "type": "integer"
          },
          "pageCount": {
            "type": "integer"
          },
          "first": {
            "type": "string",
            "format": "uri"
          }
        }
      }
    }
  }
}