{
  "$ref": "#/definitions/Candidates",
  "definitions": {
    "Candidates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "pattern": "^[a-z0-9-]+$",
            "description": "Stable slug identifier, e.g. \"pavel-petr\", \"babis-andrej\"."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Full display name (canonical)."
          },
          "family_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            ],
            "description": "Family (last) name(s). Array for compound surnames."
          },
          "given_name": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            ],
            "description": "Given (first) name(s). Array for multiple given names."
          },
          "region": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            ],
            "description": "Region(s) this candidate is running in. ISO 3166-1 alpha-2 or ISO 3166-2 codes."
          },
          "image_url": {
            "type": "string",
            "format": "uri",
            "description": "URL to a candidate photo (HTTPS)."
          },
          "supported_by": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "description": "Choice IDs (party or coalition) that endorse or support this candidate. References Choice.id values."
          },
          "extras": {
            "type": "object",
            "additionalProperties": {},
            "description": "Extension point for additional fields."
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false,
        "description": "An individual running in a direct election.\n\nLayer: reference data\n\nUsed for presidential races, senate elections, and other contests where individual candidate data is relevant. For proportional-list elections, use Choice instead."
      },
      "description": "Array of Candidate objects."
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}