{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://lists.metix.ai/schema/index-1.1.json",
  "title": "Metix Lists index 1.1",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "schema_version": {
      "const": "1.1"
    },
    "$schema": {
      "const": "https://lists.metix.ai/schema/index-1.1.json"
    },
    "schemas": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "list": {
          "type": "string",
          "format": "uri"
        },
        "index": {
          "type": "string",
          "format": "uri"
        },
        "snapshot": {
          "type": "string",
          "format": "uri"
        }
      },
      "required": [
        "list",
        "index"
      ]
    },
    "updated": {
      "type": "string",
      "format": "date"
    },
    "list_count": {
      "type": "integer",
      "minimum": 0
    },
    "distinct_people": {
      "type": "integer",
      "minimum": 0
    },
    "lists": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "slug": {
            "type": "string",
            "minLength": 1
          },
          "category": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "minLength": 1
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "json": {
            "type": "string",
            "format": "uri"
          },
          "csv": {
            "type": "string",
            "format": "uri"
          },
          "markdown": {
            "type": "string",
            "format": "uri"
          },
          "collected": {
            "type": "string",
            "format": "date"
          },
          "updated": {
            "type": "string",
            "format": "date"
          },
          "qualified_count": {
            "type": "integer",
            "minimum": 0
          },
          "published_count": {
            "type": "integer",
            "minimum": 0
          },
          "selection": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "method": {
                "enum": [
                  "all_qualified",
                  "fixed_hash"
                ]
              },
              "cap": {
                "enum": [
                  300
                ]
              },
              "hash": {
                "enum": [
                  null,
                  "sha256_linkedin_url"
                ]
              },
              "display_order": {
                "const": "name_ascending"
              },
              "candidate_pool_size": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "method",
              "cap",
              "hash",
              "display_order",
              "candidate_pool_size"
            ]
          },
          "geography": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "slug",
          "category",
          "title",
          "url",
          "json",
          "csv",
          "markdown",
          "collected",
          "updated",
          "qualified_count",
          "published_count",
          "selection",
          "geography"
        ]
      }
    },
    "snapshots": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "kind": {
            "enum": [
              "companies",
              "jobs"
            ]
          },
          "slug": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "minLength": 1
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "json": {
            "type": "string",
            "format": "uri"
          },
          "csv": {
            "type": "string",
            "format": "uri"
          },
          "markdown": {
            "type": "string",
            "format": "uri"
          },
          "as_of": {
            "type": "string",
            "format": "date"
          },
          "query_total": {
            "type": "string",
            "minLength": 1
          },
          "sample_size": {
            "type": "integer",
            "minimum": 0
          },
          "geography": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "kind",
          "slug",
          "title",
          "url",
          "json",
          "csv",
          "markdown",
          "as_of",
          "query_total",
          "sample_size",
          "geography"
        ]
      }
    }
  },
  "required": [
    "schema_version",
    "$schema",
    "schemas",
    "updated",
    "list_count",
    "distinct_people",
    "lists"
  ]
}
