{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "definitions": {

    "session": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "application": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "appName": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "team": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "device": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    },
    "email": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [ "accepted", "pending" ]
    },
    "token": {
      "type": "string"
    }
  },
  "type": "object",
  "properties": {
    "session": {
      "$ref": "#/definitions/session"
    },
    "application": {
      "$ref": "#/definitions/application"
    },
    "device": {
      "$ref": "#/definitions/device"
    },
    "team": {
      "$ref": "#/definitions/team"
    },
    "email": {
      "$ref": "#/definitions/email"
    },
    "status": {
      "$ref": "#/definitions/status"
    },
    "token": {
      "$ref": "#/definitions/token"
    }
  },
  "required": [
    "session",
    "application",
    "device",
    "email",
    "status",
    "token"
  ]
}