{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "definitions": {
        "cidr": {
            "type": "string",
            "description": "a single block of IP addresses in CIDR format (e.g. 102.33.52.0/255). Apps may assume that anyone browsing from these addresses would be given the role 'internal' were they to authenticate as principal type of candidate, i.e. this is within a corporate network"
        },
        "internalIPs": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/cidr"
            }
        }
    },
    "additionalProperties": false,
    "properties": {
        "name": {
            "type": "string",
            "description": "name of the tenant"
        },
        "contactEmail": {
            "type": "string",
            "_format": "email",
            "description": "contact address for the person in charge of this tenant"
        },
        "shortCode": {
            "type": "string",
            "description": "a short, lower case identifier for the tenant, e.g. acme"
        },
        "type": {
            "enum": [
                "PRODUCTION",
                "SANDBOX"
            ],
            "description": "The type of tenant, i.e. sandbox or not. Apps may behave differently when installed in a sandbox, e.g. not send email."
        },
        "country": {
            "description": "tenant's default country, in ISO 3166-1 alpha-2 form",
            "enum": [
                "AC",
                "AD",
                "AE",
                "AF",
                "AG",
                "AI",
                "AL",
                "AM",
                "AN",
                "AO",
                "AQ",
                "AR",
                "AS",
                "AT",
                "AU",
                "AW",
                "AX",
                "AZ",
                "BA",
                "BB",
                "BD",
                "BE",
                "BF",
                "BG",
                "BH",
                "BI",
                "BJ",
                "BM",
                "BN",
                "BO",
                "BR",
                "BS",
                "BT",
                "BV",
                "BW",
                "BY",
                "BZ",
                "CA",
                "CC",
                "CD",
                "CF",
                "CG",
                "CH",
                "CI",
                "CK",
                "CL",
                "CM",
                "CN",
                "CO",
                "CR",
                "CU",
                "CV",
                "CX",
                "CY",
                "CZ",
                "DE",
                "DJ",
                "DK",
                "DM",
                "DO",
                "DZ",
                "EC",
                "EE",
                "EG",
                "ER",
                "ES",
                "ET",
                "FI",
                "FJ",
                "FK",
                "FM",
                "FO",
                "FR",
                "GA",
                "GB",
                "GD",
                "GE",
                "GF",
                "GG",
                "GH",
                "GI",
                "GL",
                "GM",
                "GN",
                "GP",
                "GQ",
                "GR",
                "GS",
                "GT",
                "GU",
                "GW",
                "GY",
                "HK",
                "HM",
                "HN",
                "HR",
                "HT",
                "HU",
                "ID",
                "IE",
                "IL",
                "IM",
                "IN",
                "IO",
                "IQ",
                "IR",
                "IS",
                "IT",
                "JE",
                "JM",
                "JO",
                "JP",
                "KE",
                "KG",
                "KH",
                "KI",
                "KM",
                "KN",
                "KP",
                "KR",
                "KW",
                "KY",
                "KZ",
                "LA",
                "LB",
                "LC",
                "LI",
                "LK",
                "LR",
                "LS",
                "LT",
                "LU",
                "LV",
                "LY",
                "MA",
                "MC",
                "MD",
                "ME",
                "MG",
                "MH",
                "MK",
                "ML",
                "MM",
                "MN",
                "MO",
                "MP",
                "MQ",
                "MR",
                "MS",
                "MT",
                "MU",
                "MV",
                "MW",
                "MX",
                "MY",
                "MZ",
                "NA",
                "NC",
                "NE",
                "NF",
                "NG",
                "NI",
                "NL",
                "NO",
                "NP",
                "NR",
                "NU",
                "NZ",
                "OM",
                "PA",
                "PE",
                "PF",
                "PG",
                "PH",
                "PK",
                "PL",
                "PM",
                "PN",
                "PR",
                "PT",
                "PW",
                "PY",
                "QA",
                "RE",
                "RO",
                "RS",
                "RU",
                "RW",
                "SA",
                "SB",
                "SC",
                "SD",
                "SE",
                "SG",
                "SH",
                "SI",
                "SJ",
                "SK",
                "SL",
                "SM",
                "SN",
                "SO",
                "SR",
                "ST",
                "SV",
                "SY",
                "SZ",
                "TA",
                "TC",
                "TD",
                "TF",
                "TG",
                "TH",
                "TJ",
                "TK",
                "TL",
                "TM",
                "TN",
                "TO",
                "TR",
                "TT",
                "TV",
                "TW",
                "TZ",
                "UA",
                "UG",
                "UM",
                "US",
                "UY",
                "UZ",
                "VA",
                "VC",
                "VE",
                "VG",
                "VI",
                "VN",
                "VU",
                "WF",
                "WS",
                "YE",
                "YT",
                "ZA",
                "ZM",
                "ZW"
            ]
        },
        "timeZone": {
            "type": "string",
            "description": "the default timezone for the tenant's principals, as per https://en.wikipedia.org/wiki/Tz_database"
        },
        "logoUrl": {
            "type": "string",
            "_format": "uri",
            "description": "url for the tenant's logo"
        },
        "internalIPs": {
            "$ref": "#/definitions/internalIPs"
        },
        "privacyPolicyUrl": {
            "type": "string",
            "_format": "uri",
            "description": "url for the tenant's privacy policy"
        }
    },
    "required": [
        "name",
        "shortCode",
        "type",
        "contactEmail"
    ]
}