json_schema: {
      "additionalProperties": true,
      "description": "Schema for Segment's context fields, https://segment.com/docs/spec/common/#context",
      "properties": {
          "app": {
              "additionalProperties": true,
              "properties": {
                  "build": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "name": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "version": {
                      "maxLength": 1024,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "campaign": {
              "additionalProperties": true,
              "properties": {
                  "content": {
                      "maxLength": 8192,
                      "type": "string"
                  },
                  "medium": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "name": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "source": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "term": {
                      "maxLength": 4096,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "device": {
              "additionalProperties": true,
              "properties": {
                  "adTrackingEnabled": {
                      "type": "boolean"
                  },
                  "advertisingId": {
                      "_format": "uuid",
                      "type": "string"
                  },
                  "id": {
                      "_format": "uuid",
                      "type": "string"
                  },
                  "manufacturer": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "model": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "name": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "token": {
                      "maxLength": 128,
                      "type": "string"
                  },
                  "type": {
                      "maxLength": 128,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "ip": {
              "_format": "ipv4",
              "type": "string"
          },
          "library": {
              "additionalProperties": true,
              "properties": {
                  "name": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "version": {
                      "maxLength": 512,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "locale": {
              "maxLength": 512,
              "type": "string"
          },
          "location": {
              "additionalProperties": true,
              "properties": {
                  "city": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "country": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "latitude": {
                      "type": "number"
                  },
                  "longitude": {
                      "type": "number"
                  },
                  "speed": {
                      "maximum": 9223372036854776000,
                      "minimum": 0,
                      "type": "integer"
                  }
              },
              "type": "object"
          },
          "network": {
              "additionalProperties": true,
              "properties": {
                  "bluetooth": {
                      "type": "boolean"
                  },
                  "carrier": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "cellular": {
                      "type": "boolean"
                  },
                  "wifi": {
                      "type": "boolean"
                  }
              },
              "type": "object"
          },
          "os": {
              "additionalProperties": true,
              "properties": {
                  "name": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "version": {
                      "maxLength": 1024,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "referrer": {
              "additionalProperties": true,
              "properties": {
                  "id": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "link": {
                      "_format": "uri",
                      "maxLength": 8192,
                      "type": "string"
                  },
                  "name": {
                      "maxLength": 1024,
                      "type": "string"
                  },
                  "type": {
                      "maxLength": 512,
                      "type": "string"
                  },
                  "url": {
                      "_format": "uri",
                      "maxLength": 8192,
                      "type": "string"
                  }
              },
              "type": "object"
          },
          "screen": {
              "additionalProperties": true,
              "properties": {
                  "density": {
                      "maximum": 2147483647,
                      "minimum": 0,
                      "type": "integer"
                  },
                  "height": {
                      "maximum": 9223372036854776000,
                      "minimum": 0,
                      "type": "integer"
                  },
                  "width": {
                      "maximum": 9223372036854776000,
                      "minimum": 0,
                      "type": "integer"
                  }
              },
              "type": "object"
          },
          "timezone": {
              "maxLength": 128,
              "type": "string"
          },
          "userAgent": {
              "maxLength": 4096,
              "type": "string"
          }
      },
      "self": {
          "format": "jsonschema",
          "name": "context",
          "vendor": "com.segment",
          "version": "1-0-0"
      },
      "type": "object"
  }