{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "principalType": {
            "enum": [
                "user",
                "candidate"
            ],
            "description": "a class of principal (typically a human) identifiable by SSO. In theory developer-defined but for now only TAS can create."
        }
    },
    "type": "object",
    "description": "A set of SAML values that uniquely identify this person, consistently across TAS apps, and with any number of potential IdPs",
    "additionalProperties": false,
    "required": [
        "pt",
        "samlKey",
        "nameID",
        "entityID"
    ],
    "properties": {
        "pt": {
            "$ref": "#/definitions/principalType",
            "description": "principal type"
        },
        "samlKey": {
            "type": "string",
            "description": "key of the SAML assertion with the the TAS core SAML database"
        },
        "nameID": {
            "type": "string"
        },
        "entityID": {
            "type": "string"
        }
    }
}