{
  "$ref": "#/definitions/ExpertFeed",
  "definitions": {
    "ExpertFeed": {
      "type": "object",
      "properties": {
        "apiVersion": {
          "type": "string",
          "const": "soultec.ch/v1"
        },
        "kind": {
          "type": "string",
          "const": "ExpertFeed"
        },
        "locale": {
          "type": "string",
          "enum": [
            "de",
            "en"
          ]
        },
        "built": {
          "type": "string",
          "format": "date-time",
          "description": "When this file was built, ISO 8601 in UTC.",
          "markdownDescription": "When this file was built, ISO 8601 in UTC."
        },
        "awards": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "enum": [
                  "broadcom-knight",
                  "vexpert",
                  "hpe-ambassador",
                  "hpe-storage-ranger"
                ]
              },
              "name": {
                "type": "string"
              },
              "art": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\/(?!\\/)",
                    "errorMessage": {
                      "pattern": "root-relative: the app prefixes its own base URL"
                    },
                    "description": "Root-relative. The consumer prefixes its configured base URL.",
                    "markdownDescription": "Root-relative. The consumer prefixes its configured base URL."
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The artwork the award section uses. Null where the site has none and draws a two-letter mark.",
                "markdownDescription": "The artwork the award section uses. Null where the site has none and draws a two-letter mark."
              },
              "artOnDark": {
                "type": "boolean",
                "description": "True when the artwork is light on transparent and only reads on a dark background.",
                "markdownDescription": "True when the artwork is light on transparent and only reads on a dark background."
              }
            },
            "required": [
              "slug",
              "name",
              "art",
              "artOnDark"
            ],
            "additionalProperties": true
          },
          "description": "Every award held by someone on the roster, once, in a fixed order.",
          "markdownDescription": "Every award held by someone on the roster, once, in a fixed order."
        },
        "experts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "role": {
                "type": "string",
                "description": "The job title the profile page shows.",
                "markdownDescription": "The job title the profile page shows."
              },
              "photo": {
                "anyOf": [
                  {
                    "$ref": "#/definitions/ExpertFeed/properties/awards/items/properties/art/anyOf/0"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "The 800px portrait. Null when the build has none.",
                "markdownDescription": "The 800px portrait. Null when the build has none."
              },
              "profile": {
                "type": "string",
                "pattern": "^\\/(?!\\/)",
                "errorMessage": {
                  "pattern": "root-relative: the app prefixes its own base URL"
                },
                "description": "The profile page in this file's locale.",
                "markdownDescription": "The profile page in this file's locale."
              },
              "awards": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/ExpertFeed/properties/awards/items/properties/slug"
                },
                "description": "Slugs into the top-level awards list.",
                "markdownDescription": "Slugs into the top-level awards list."
              },
              "certifications": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "minimum": 0,
                    "description": "Active certifications, the number the profile page shows beside «verified via Credly».",
                    "markdownDescription": "Active certifications, the number the profile page shows beside «verified via Credly»."
                  },
                  "verifiedVia": {
                    "anyOf": [
                      {
                        "type": "string",
                        "const": "credly"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Null when count is 0.",
                    "markdownDescription": "Null when count is 0."
                  },
                  "featured": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "year": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "badge": {
                          "anyOf": [
                            {
                              "$ref": "#/definitions/ExpertFeed/properties/awards/items/properties/art/anyOf/0"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "description": "The badge image the profile page shows. Null when the export has none.",
                          "markdownDescription": "The badge image the profile page shows. Null when the export has none."
                        }
                      },
                      "required": [
                        "name",
                        "year",
                        "badge"
                      ],
                      "additionalProperties": true
                    },
                    "description": "Exactly the certificates the profile page shows, in its order.",
                    "markdownDescription": "Exactly the certificates the profile page shows, in its order."
                  }
                },
                "required": [
                  "count",
                  "verifiedVia",
                  "featured"
                ],
                "additionalProperties": true
              },
              "focus": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The profile's focus list, in this file's locale.",
                "markdownDescription": "The profile's focus list, in this file's locale."
              }
            },
            "required": [
              "slug",
              "name",
              "role",
              "photo",
              "profile",
              "awards",
              "certifications",
              "focus"
            ],
            "additionalProperties": true
          },
          "description": "The roster: same people and order as the Experts page, drafts excluded.",
          "markdownDescription": "The roster: same people and order as the Experts page, drafts excluded."
        }
      },
      "required": [
        "apiVersion",
        "kind",
        "locale",
        "built",
        "awards",
        "experts"
      ],
      "additionalProperties": true
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
