{    "transactionId": "T4331c8274241",    "code": "00000",    "message": "SUCCESS",    "data": {        "campaignSchemas": [            {                "schemaVersion": 1,                "apiVersion": 1,                "campaign": [                    {                        "key": "txId",                        "description": "TransactionId for this operation",                        "type": "hidden",                        "mandatory": false                    },                    {                        "key": "basicInfo",                        "title": "BASIC INFO",                        "type": "object",                        "mandatory": true,                        "nestedObjects": [                            {                                "key": "name",                                "title": "Campaign name",                                "description": "Enter campaign name",                                "type": "string",                                "mandatory": true                            },                            {                                "key": "description",                                "title": "Description",                                "description": "Enter campaign description",                                "type": "string",                                "mandatory": false                            }                        ]                    },                    {                        "key": "schedule",                        "title": "SCHEDULE",                        "type": "object",                        "mandatory": true,                        "nestedObjects": [                            {                                "key": "startDate",                                "title": "Start Date",                                "type": "string",                                "pattern": "yyyy-mm-dd",                                "mandatory": true                            },                            {                                "key": "endDate",                                "title": "End Date",                                "type": "string",                                "pattern": "yyyy-mm-dd",                                "mandatory": false                            },                            {                                "key": "timezone",                                "title": "Time Zone",                                "type": "number",                                "mandatory": true,                                "multiple": false,                                "enum": [                                    {                                        "text": "(UTC-12:00) International Date Line West",                                        "value": -720                                    },                                    {                                        "text": "(UTC-11:00) Midway Island, Samoa",                                        "value": -660                                    },                                    {                                        "text": "(UTC-10:00) Hawaii",                                        "value": -600                                    },                                    {                                        "text": "(UTC-09:00) Alaska",                                        "value": -540                                    },                                    {                                        "text": "(UTC-08:00) Pacific Time (US and Canada); Tijuana, Baja California",                                        "value": -480                                    },                                    {                                        "text": "(UTC-07:00) Mountain Time (US and Canada), Chihuahua, La Paz, Mazatlan, Arizona, Chihuahua, La Paz, Mazatlan - New",                                        "value": -420                                    },                                    {                                        "text": "(UTC-06:00) Central Time (US and Canada), Saskatchewan, Guadalajara, Mexico City, Monterrey, Central America, Guadalajara, Mexico City, Monterrey - New",                                        "value": -360                                    },                                    {                                        "text": "(UTC-05:00) Eastern Time (US and Canada), Indiana (East), Bogota, Lima, Quito",                                        "value": -300                                    },                                    {                                        "text": "(UTC-04:30) Caracas",                                        "value": -270                                    },                                    {                                        "text": "(UTC-04:00) Atlantic Time (Canada), Georgetown, La Paz, San Juan, Santiago, Manaus, Asuncion",                                        "value": -240                                    },                                    {                                        "text": "(UTC-03:30) Newfoundland",                                        "value": -210                                    },                                    {                                        "text": "(UTC-03:00) Brasilia, Georgetown, Greenland, Buenos Aires, Montevideo",                                        "value": -180                                    },                                    {                                        "text": "(UTC-02:00) Mid-Atlantic",                                        "value": -120                                    },                                    {                                        "text": "(UTC-01:00) Azores, Cape Verde Islands",                                        "value": -60                                    },                                    {                                        "text": "(UTC) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London, Monrovia, Reykjavik, Casablanca",                                        "value": 0                                    },                                    {                                        "text": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague, Sarajevo, Skopje, Warsaw, Zagreb, Brussels, Copenhagen, Madrid, Paris, Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna, West Central Africa ",                                        "value": 60                                    },                                    {                                        "text": "(UTC+02:00) Minsk, Cairo, Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius, Athens, Bucharest, Istanbul, Jerusalem, Harare, Pretoria, Beirut, Amman, Windhoek",                                        "value": 120                                    },                                    {                                        "text": "(UTC+03:00) Moscow, St. Petersburg, Volgograd, Kuwait, Riyadh, Nairobi, Baghdad, Tbilisi",                                        "value": 180                                    },                                    {                                        "text": "(UTC+03:30) Tehran",                                        "value": 210                                    },                                    {                                        "text": "(UTC+04:00) Abu Dhabi, Muscat, Baku, Tbilisi, Yerevan, Port Louis",                                        "value": 240                                    },                                    {                                        "text": "(UTC+04:30) Kabul",                                        "value": 270                                    },                                    {                                        "text": "(UTC+05:00) Ekaterinburg, Tashkent, Islamabad, Karachi",                                        "value": 300                                    },                                    {                                        "text": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",                                        "value": 330                                    },                                    {                                        "text": "(UTC+05:45) Kathmandu",                                        "value": 345                                    },                                    {                                        "text": "(UTC+06:00) Astana, Dhaka, Sri Jayawardenepura, Almaty, Novosibirsk",                                        "value": 360                                    },                                    {                                        "text": "(UTC+06:30) Yangon (Rangoon)",                                        "value": 390                                    },                                    {                                        "text": "(UTC+07:00) Bangkok, Hanoi, Jakarta, Krasnoyarsk",                                        "value": 420                                    },                                    {                                        "text": "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi, Kuala Lumpur, Singapore, Taipei, Perth, Irkutsk, Ulaanbaatar",                                        "value": 480                                    },                                    {                                        "text": "(UTC+09:00) Seoul, Osaka, Sapporo, Tokyo, Yakutsk",                                        "value": 540                                    },                                    {                                        "text": "(UTC+09:30) Darwin, Adelaide",                                        "value": 570                                    },                                    {                                        "text": "(UTC+10:00) Canberra, Melbourne, Sydney, Brisbane, Hobart, Vladivostok, Guam, Port Moresby",                                        "value": 600                                    },                                    {                                        "text": "(UTC+11:00) Magadan, Solomon Islands, New Caledonia",                                        "value": 660                                    },                                    {                                        "text": "(UTC+12:00) Fiji, Kamchatka, Marshall Is., Auckland, Wellington, Petropavlovsk-Kamchatsky",                                        "value": 720                                    },                                    {                                        "text": "(UTC+13:00) Nuku alofa",                                        "value": 780                                    }                                ],                                "defaultValue": 0                            },                            {                                "key": "fota",                                "title": "Firmware Installation Period",                                "description": "Firmware will be installed during this period on device timezone. Actual installation can go beyond the end time specified. (24 hour format)",                                "type": "object",                                "mandatory": true,                                "nestedObjects": [                                    {                                        "key": "from",                                        "title": "From",                                        "type": "number",                                        "mandatory": true,                                        "defaultValue": 2                                    },                                    {                                        "key": "to",                                        "title": "To",                                        "description": "Minimum of 3 hours from the starting time",                                        "type": "number",                                        "mandatory": true,                                        "defaultValue": 5                                    }                                ]                            },                            {                                "key": "downloadTime",                                "title": "Firmware download period",                                "description": "Set a time to download firmware. By default it can be downloaded anytime.",                                "type": "number",                                "mandatory": true,                                "multiple": false,                                "enum": [                                    {                                        "text": "AnyTime",                                        "value": 1                                    },                                    {                                        "text": "Use the Same timeframes as firmware installation period",                                        "value": 2                                    },                                    {                                        "text": "Custom period",                                        "value": 3                                    }                                ],                                "defaultValue": 1                            },                            {                                "key": "customDownload",                                "title": "Custom Firmware Download Period",                                "type": "object",                                "mandatory": false,                                "required": {                                    "downloadTime": 3                                },                                "nestedObjects": [                                    {                                        "key": "fromDownload",                                        "title": "From",                                        "type": "number",                                        "mandatory": false,                                        "defaultValue": 2,                                        "required": {                                            "downloadTime": 3                                        }                                    },                                    {                                        "key": "toDownload",                                        "title": "To",                                        "description": "Minimum of 3 hours from the starting time",                                        "type": "number",                                        "mandatory": false,                                        "defaultValue": 5,                                        "required": {                                            "downloadTime": 3                                        }                                    }                                ]                            },                            {                                "key": "postponeInstall",                                "title": "Postpone installation",                                "description": "Set and customize postpone policy for end users. If you don’t select this option, installation will be forced.",                                "type": "object",                                "mandatory": false,                                "nestedObjects": [                                    {                                        "key": "postponeInstallation",                                        "title": "Times allowed to postpone",                                        "description": "User can postpone installation for maximum of 3 times.",                                        "type": "number",                                        "mandatory": false,                                        "enum": [                                            {                                                "text": "Never",                                                "value": 0                                            },                                            {                                                "text": "1 time",                                                "value": 1                                            },                                            {                                                "text": "2 times",                                                "value": 2                                            },                                            {                                                "text": "3 times",                                                "value": 3                                            }                                        ],                                        "defaultValue": 0                                    },                                    {                                        "key": "postponeDuration",                                        "title": "Postpone duration",                                        "description": "Set how long before a user will be reminded to install the firmware per time postponed. (range: 1-24) (For example, 2 times Postpone installation with 8 hour Postpone duration means users receive 1st reminder after 8 hours and 2nd reminder after 16 hours.)",                                        "type": "number",                                        "mandatory": false,                                        "defaultValue": 8,                                        "required": [                                            "postponeInstallation"                                        ]                                    },                                    {                                        "key": "autoInstallTime",                                        "title": "Auto-install timer",                                        "description": "A user can set a timer to postpone firmware installation (minutes). If a user doesn’t react to the message with the timer, then installation begins automatically. (range: 1-43200) In minutes.",                                        "type": "number",                                        "mandatory": false,                                        "defaultValue": 5,                                        "required": [                                            "postponeInstallation"                                        ]                                    }                                ]                            },                            {                                "key": "gradualRolloutOn",                                "title": "Set gradual campaign rollout",                                "description": "Select the percentage of assigned devices you want to download the new firmware on per day.",                                "type": "bool",                                "mandatory": false,                                "defaultValue": false                            },                            {                                "key": "gradualRolloutNumber",                                "title": "Percent of total devices for starting the firmware download per day (1-50%).",                                "type": "number",                                "mandatory": false,                                "defaultValue": 10,                                "required": {                                    "gradualRolloutOn": true                                }                            }                        ]                    },                    {                        "key": "networkAndSpeed",                        "title": "NETWORK AND SPEED",                        "type": "object",                        "mandatory": true,                        "nestedObjects": [                            {                                "key": "downloadNetwork",                                "title": "Download Network",                                "type": "string",                                "mandatory": true,                                "multiple": false,                                "enum": [                                    {                                        "text": "Wi-Fi or Ethernet",                                        "value": "WIFIONLY"                                    },                                    {                                        "text": "Any (Wi-Fi, Mobile or Ethernet)",                                        "value": "ANY"                                    }                                ],                                "defaultValue": "WIFIONLY",                                "nestedObjects": [                                    {                                        "key": "downloadAvailableDuringRoamingNetwork",                                        "title": "Download allowed while roaming",                                        "type": "bool",                                        "mandatory": false,                                        "defaultValue": false,                                        "required": {                                            "downloadNetwork": "ANY"                                        }                                    },                                    {                                        "key": "switchToWifi",                                        "title": "Switch to Wi-Fi when firmware size is over",                                        "type": "number",                                        "mandatory": false,                                        "defaultValue": 6000,                                        "required": {                                            "downloadNetwork": "ANY"                                        }                                    }                                ]                            },                            {                                "key": "downloadSpeed",                                "title": "Download speed up to",                                "description": "This setting will control the download speed (MB in 10 mins)",                                "type": "number",                                "mandatory": false,                                "defaultValue": 0                            },                            {                                "key": "ssidThrottling",                                "title": "Set SSID download speed",                                "description": "This setting will control the download speed per SSID. SSID download speed is a higher priority than non-SSID download speed (MB in 10 mins)",                                "type": "objectArray",                                "mandatory": false,                                "nestedObjects": [                                    {                                        "key": "ssidForThrottling",                                        "title": "SSID",                                        "description": "This field can contain a maximum of 50 characters",                                        "type": "string",                                        "mandatory": false                                    },                                    {                                        "key": "maxSpeedThrottling",                                        "title": "Max Download Speed",                                        "description": "The value should be in numeric or decimal form (MB in 10 mins).",                                        "type": "number",                                        "mandatory": false                                    }                                ]                            },                            {                                "key": "ssidRestriction",                                "title": "Set SSID restrictions",                                "description": "Selecting this option will allow/block firmware download over only allowlisted SSID(s). This option will not be enabled if campaign is saved without any SSID(s) added.",                                "type": "object",                                "mandatory": false,                                "nestedObjects": [                                    {                                        "key": "allowOrBlock",                                        "title": "Select option to set allowlist or blocklist",                                        "type": "number",                                        "mandatory": false,                                        "multiple": false,                                        "defaultValue": 0,                                        "enum": [                                            {                                                "text": "Not used",                                                "value": 0                                            },                                            {                                                "text": "Allow list",                                                "value": 1                                            },                                            {                                                "text": "Block list",                                                "value": 2                                            }                                        ]                                    },                                    {                                        "key": "ssidsForRestriction",                                        "title": "Add Wi-Fi SSID",                                        "type": "objectArray",                                        "mandatory": false,                                        "nestedObjects": [                                            {                                                "key": "ssidForRestriction",                                                "title": "SSID",                                                "description": "This field can contain a maximum of 50 characters.",                                                "type": "string",                                                "mandatory": false                                            },                                            {                                                "key": "descriptionRestriction",                                                "title": "Description",                                                "description": "This field can contain a maximum of 500 characters.",                                                "type": "string",                                                "mandatory": false                                            }                                        ]                                    }                                ]                            }                        ]                    },                    {                        "key": "deviceCondition",                        "title": "DEVICE CONDITION",                        "type": "object",                        "mandatory": false,                        "nestedObjects": [                            {                                "key": "batteryLevel",                                "title": "Battery Level for installation",                                "description": "Start installing when device battery level is above the selected value",                                "type": "number",                                "mandatory": false,                                "enum": [                                    {                                        "text": "Above 20%",                                        "value": 20                                    },                                    {                                        "text": "Above 25%",                                        "value": 25                                    },                                    {                                        "text": "Above 30%",                                        "value": 30                                    },                                    {                                        "text": "Above 35%",                                        "value": 35                                    },                                    {                                        "text": "Above 40%",                                        "value": 40                                    },                                    {                                        "text": "Above 45%",                                        "value": 45                                    },                                    {                                        "text": "Above 50%",                                        "value": 50                                    },                                    {                                        "text": "Above 55%",                                        "value": 55                                    },                                    {                                        "text": "Above 60%",                                        "value": 60                                    },                                    {                                        "text": "Above 65%",                                        "value": 65                                    },                                    {                                        "text": "Above 70%",                                        "value": 70                                    },                                    {                                        "text": "Above 75%",                                        "value": 75                                    },                                    {                                        "text": "Above 80%",                                        "value": 80                                    }                                ],                                "defaultValue": 20                            },                            {                                "key": "isConnectedToCharging",                                "title": "Allow installation only when connected to charging dock",                                "type": "bool",                                "mandatory": false,                                "defaultValue": false                            }                        ]                    },                    {                        "key": "factoryReset",                        "title": "FACTORY RESET",                        "type": "object",                        "mandatory": false,                        "nestedObjects": [                            {                                "key": "allowFactoryReset",                                "title": "Allow the factory reset option",                                "description": "If you enable this setting, users can factory reset the device themselves.",                                "type": "bool",                                "mandatory": false,                                "defaultValue": true                            }                        ]                    },                    {                        "key": "contact",                        "title": "SUPPORT CONTACT DETAILS",                        "type": "object",                        "mandatory": true,                        "nestedObjects": [                            {                                "key": "phoneNumber",                                "title": "Phone number",                                "description": "Enter contact phone number",                                "type": "string",                                "mandatory": true                            },                            {                                "key": "emailAddress",                                "title": "E-mail address",                                "description": "Enter contact e-mail address",                                "type": "string",                                "mandatory": true                            }                        ]                    }                ]            }        ]    }}