json_schema: {
      "$id": "http://api.example.com/profile.json#",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
          "age": {
              "maximum": 100,
              "minimum": 9,
              "type": "integer"
          },
          "available_for_hire": {
              "type": "boolean"
          },
          "email": {
              "_format": "email",
              "maxLength": 128,
              "type": "string"
          },
          "id": {
              "_format": "uuid",
              "type": "string"
          },
          "interests": {
              "items": {
                  "maxLength": 120,
                  "type": "string"
              },
              "maxItems": 100,
              "minItems": 3,
              "type": "array",
              "_uniqueItems": true
          },
          "location": {
              "additionalProperties": false,
              "properties": {
                  "address": {
                      "maxLength": 128,
                      "type": "string"
                  },
                  "country": {
                      "enum": [
                          "US",
                          "CA",
                          "GB"
                      ]
                  }
              },
              "required": [
                  "country",
                  "address"
              ],
              "type": "object"
          },
          "name": {
              "maxLength": 64,
              "minLength": 1,
              "pattern": "^[a-zA-Z0-9\\-]+(\\s[a-zA-Z0-9\\-]+)*$",
              "type": "string"
          },
          "skills": {
              "items": {
                  "additionalProperties": false,
                  "properties": {
                      "name": {
                          "maxLength": 64,
                          "minLenght": 1,
                          "type": "string"
                      },
                      "value": {
                          "maximum": 100,
                          "minimum": 0,
                          "multipleOf": 0.25,
                          "type": "number"
                      }
                  },
                  "required": [
                      "name",
                      "value"
                  ],
                  "type": "object"
              },
              "maxItems": 100,
              "type": "array",
              "_uniqueItems": true
          },
          "website": {
              "format": "hostname",
              "maxLength": 128,
              "type": [
                  "string",
                  "null"
              ]
          }
      },
      "required": [
          "id",
          "name",
          "age",
          "email",
          "location",
          "available_for_hire",
          "interests",
          "skills"
      ],
      "type": "object"
  }