// JSON input to update the policy
    public class PolicyItemInput
    public string Category { get; set; }
    public string Name { get; set; }
    public string Value { get; set; }

    // JSON input to send commands

    public class CommandInput
        public string CommandName { get; set; } //name of the command for identification purpose.
        public string Command { get; set; } //supported command strings are defined below.
        public string Param1 { get; set; } //input param1.
        public string Param2 { get; set; } //input param2.
        public string Notes { get; set; }; //any notes for the maintenence.

    string[] validCommands = {
    "appconfig",                 // Configure app settings (iOS)
    "changepasscode",            // locks the device with a new passcode
    "clearpasscode",             // deletes passcode in the device
    "datawipe",                  // Erase all apps and content (factory reset)
    "deletefile",                // Delete a file
    "deviceinfo",                // Get device information
    "devicelocation",            // Get device location
    "disablelostmode",           // Disable lost mode
    "enablelostmode",            // Enable lost mode
    "installapp",                // Install an app
    "installcert",               // Install a certificate
    "playlostmodesound",         // Play sound in lost mode
    "poweroff",                  // Power off the device
    "pullfile",                  // Pull a file from the device
    "pushfile",                  // Push a file to the device
    "pushwebpage",               // Push a webpage to open
    "reboot",                    // Reboot the device
    "refreshapp",                // Refresh an app
    "removeaccount",             // Remove an account
    "renamefile",                // Rename a file
    "restartapp",                // Restart an app
    "restartdevice",             // Restart the device
    "scheduleosupdate",          // Schedule OS update
    "screenlock",                // Lock the device screen
    "screenrecord",              // Record the screen
    "sendmessage",               // Send a message
    "sendscream",                // Send a scream signal
    "sendsms",                   // Send an SMS
    "setsystemtime",             // Set system time
    "shellexecute",              // Execute shell command
    "shutdowndevice",            // Shutdown the device
    "smsdatawipe",               // Initiate SMS data wipe
    "smsheartbeatrequest",       // Request SMS heartbeat
    "smslocationrequest",        // Request SMS location
    "smsremovepasscode",         // Remove passcode via SMS
    "startapp",                  // Start an app
    "uninstallapp",              // Uninstall an app
    "unmanage",                  // Unmanage the device (remove MDM)
    "wipeappdata"                // Wipe app data (clear app cache)

    (1) Sending datawipe command:

    input JSON

        "CommandName": "Test datawipe",
        "Command": "datawipe", //this string must be exact command from the above list
        "Param1": "", //empty param
        "Param2": "", //empty param
        "Notes": "Test notes.."

    (2) Sending changepasscode command - locks the device with a new passcode

    input JSON

        "CommandName": "Test command",
        "Command": "changepasscode",
        "Param1": "1234", //passcode goes here
        "Param2": "", //empty param
        "Notes": "Test notes.."

    (3) Sending install application command:

    input JSON

        "CommandName": "Test command",
        "Command": "installapp",
        "Param1": "https://s3.amazonaws.com/storage.codeproof.com/customers/1010/software/Codeproof-Remote-2.081222.apk", //valid APK url with HTTPS
        "Param2": "", //empty param
        "Notes": "Test notes.."