﻿{
  "x-generator": "NSwag v13.3.0.0 (NJsonSchema v10.1.11.0 (Newtonsoft.Json v11.0.0.0))",
  "openapi": "3.0.0",
  "info": {
    "title": "Webroot Unity API - OpenAPI Definition (Production)",
    "description": "Unity API is a platform that enables users access to a variety of services and information offered by Webroot. Access is provided through web service REST methods which return individual sets of data. One advantage is that users only have to authenticate with the Unity API once to gain access to any type of information and actions, given that the user has necessary access rights.",
    "license": {
      "name": "Webroot Unity SDK and Unity API Agreement",
      "url": "https://www.webroot.com/us/en/legal/service-terms-and-conditions"
    },
    "version": "1.0.26063.1",
    "x-logo": {
      "url": "https://unityapi.webrootcloudav.com/Docs/Images/Webroot_UnityAPI_green.png",
      "altText": "Webroot Unity API"
    }
  },
  "servers": [
    {
      "url": "https://unityapi.webrootcloudav.com/service",
      "description": "Unity API Server (Production)"
    }
  ],
  "paths": {
    "/api/status/site/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Endpoint Status Site"
        ],
        "summary": "Returns agent status information for all endpoints matching the specified criteria.",
        "description": "Returned information is grouped into several classes which can be selectively included in responses in order to reduce network traffic. Returned items can be grouped into batches by using the 'batchSize' parameter, in which case responses contain a 'continuationURI' and 'ContinuationToken' fields, which can be used for requesting the next batch of items.",
        "operationId": "EndpointStatus_GetAgentStatus",
        "parameters": [
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "A site keycode for which agent status information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "277C-96E6-6597-435E-A0B2"
          },
          {
            "name": "machineId",
            "in": "query",
            "description": "A machine ID for which agent status is to be retrieved. If omitted, information for all endpoints is retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "13da51c37c824e1f864eb81869f36da813da51c37c824e1f864eb81869f36da8:::ee9c7756e0df43daab86ee9c7756e0df43daab86:::ee9c7756e0df43daab86ee9c7756e0df43daab86"
          },
          {
            "name": "returnedInfo",
            "in": "query",
            "description": "A comma separated list of classes of information to be contained in the response data (BasicInfo,ExtendedInfo,TimesAndStats,Scheduling,EnabledFeatures,SystemAnalyzer,OSAndVersions). If omitted, all classes of information are returned",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "TimesAndStats,EnabledFeatures,SystemAnalyzer"
          },
          {
            "name": "modifiedSince",
            "in": "query",
            "description": "If specified, returns all agent status entries, that were modified after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T07:23:13.4748213Z"
          },
          {
            "name": "batchSize",
            "in": "query",
            "description": "Specifies the number of entries returned per request. Valid values range from 1 to 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 5,
            "example": "34"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "A continuation token for batched requests",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 6,
            "example": "esCWnFnnfQLr1tsz"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AgentStatus"
                    }
                  ]
                },
                "example": {
                  "QueryResults": [
                    {
                      "BasicInfo": {
                        "StatusRefreshTime": "2026-04-14T07:13:13.4748213Z",
                        "Managed": false,
                        "SKU": "Webroot SecureAnywhere Endpoint Protection",
                        "PartnerNumber": 0,
                        "Version": "9.0.13.58",
                        "ActiveThreats": 0,
                        "DeviceType": "PC",
                        "AttentionRequired": false,
                        "Infected": false
                      },
                      "ExtendedInfo": {
                        "Uninstalled": false,
                        "Language": "en",
                        "IsExpired": false,
                        "DaysRemaining": 122,
                        "ExpirationDate": "2026-08-14T07:23:13.4748213Z",
                        "RemediationEnabled": true,
                        "ThreatBlocked": false,
                        "WasJustInfected": true,
                        "HasBeenInfected": true,
                        "LatestThreat": "c:\\users\\administrator\\downloads\\eicar_com\\eicar - copy.com|Eicar-Test-Virus|56A0F8A9",
                        "CurrentlyCleaning": false,
                        "CleanShutdown": true,
                        "ManualAgentShutdown": false,
                        "AgentStartupTime": "2026-04-14T02:23:13.4748213Z",
                        "SystemState": 1,
                        "SystemStateUpdated": "2026-04-14T02:23:13.4748213Z"
                      },
                      "TimesAndStats": {
                        "LastGarbageRemovalTime": null,
                        "LastGarbageRemovalSize": 0,
                        "TotalGarbageRemovalSize": 0,
                        "LastScan": "2026-04-14T05:23:13.4748213Z",
                        "LastScanDuration": 178,
                        "LastScanCount": 143479,
                        "ScanCount": 9,
                        "ThreatsRemoved": 1,
                        "LastQuickScan": null,
                        "LastQuickScanDuration": 0,
                        "LastFullScan": "2026-04-14T05:23:13.4748213Z",
                        "LastFullScanDuration": 906,
                        "LastCustomScan": null,
                        "LastCustomScanDuration": 0,
                        "LastDeepScan": null,
                        "LastDeepScanDuration": 0
                      },
                      "Scheduling": {
                        "ScheduledScansEnabled": true,
                        "ScheduledScanFrequency": 0,
                        "ScheduledScanTime": "10:00",
                        "ScanWhenIdle": false,
                        "ScanOnBootup": false,
                        "ActiveScans": 0
                      },
                      "EnabledFeatures": {
                        "ProtectionEnabled": true,
                        "RootkitShieldEnabled": true,
                        "WebThreatShieldEnabled": true,
                        "USBShieldEnabled": true,
                        "OfflineShieldEnabled": true,
                        "ScriptShieldStatus": null,
                        "FirewallEnabled": true,
                        "InfraredEnabled": true,
                        "IDShieldEnabled": true,
                        "PhishingShieldEnabled": true,
                        "IsSilent": false
                      },
                      "SystemAnalyzer": {
                        "SystemAnalyzerScore": 0,
                        "HardwareScore": "",
                        "SoftwareScore": "",
                        "ThreatsScore": ""
                      },
                      "OSAndVersions": {
                        "OSBuild": 9600,
                        "OSPlatform": 64,
                        "OSLanguage": 1033,
                        "CurrentUser": "Administrator",
                        "NumUsers": 2,
                        "MaxUsers": 2,
                        "internalIP": "10.94.55.153",
                        "MACAddress": "01-7D-E4-D2-9A-AB",
                        "ADSTRING": "",
                        "Workgroup": "WORKGROUP",
                        "DNSServer": "10.246.213.161",
                        "BinType": "SMEINSTALL",
                        "Email": "",
                        "OtherAVProduct": "",
                        "OtherAVProductVersion": "",
                        "IsOtherAVEnabled": false,
                        "IsOtherAVUpdated": false,
                        "PrimaryBrowser": "IE",
                        "PrimaryBrowserVersion": "9.11.9600.18125",
                        "IsFirewallEnabled": true,
                        "IsVirtualMachine": false,
                        "IPV4": "10.94.55.153",
                        "IPV6": "",
                        "FQDN": "",
                        "NTDOMAIN": "",
                        "LDAPOID": "",
                        "LDAPDN": ""
                      },
                      "MasterKC": "D403-77FA-39F0-4285-B1EE",
                      "KC": "FE99-6F7A-3852-4A5F-94AA",
                      "MachineID": "64255f7a59f747838dcec60ca42db5a664255f7a59f747838dcec60ca42db5a6:::056d7f05ef3047899d36056d7f05ef3047899d36:::056d7f05ef3047899d36056d7f05ef3047899d36",
                      "LastChanged": "2026-04-12T07:23:13.4748213Z",
                      "HostName": "Computer1",
                      "IPAddress": "95.177.8.222",
                      "ClientVersion": "9.0.13.58",
                      "OS": "Windows Server 2012 (Build 9600) 64bit",
                      "FirstSeen": "2026-03-14T07:23:13.4748213Z",
                      "LastSeen": "2026-04-13T07:23:13.4748213Z",
                      "TimesSeen": 17,
                      "Hidden": false,
                      "Deactivated": false,
                      "ActivationStatusTime": null
                    },
                    {
                      "BasicInfo": {
                        "StatusRefreshTime": "2026-04-14T07:03:13.4748213Z",
                        "Managed": false,
                        "SKU": "Webroot SecureAnywhere Endpoint Protection",
                        "PartnerNumber": 0,
                        "Version": "9.0.13.58",
                        "ActiveThreats": 0,
                        "DeviceType": "PC",
                        "AttentionRequired": false,
                        "Infected": false
                      },
                      "ExtendedInfo": {
                        "Uninstalled": false,
                        "Language": "en",
                        "IsExpired": false,
                        "DaysRemaining": 122,
                        "ExpirationDate": "2026-08-14T07:23:13.4748213Z",
                        "RemediationEnabled": true,
                        "ThreatBlocked": false,
                        "WasJustInfected": true,
                        "HasBeenInfected": true,
                        "LatestThreat": "c:\\users\\administrator\\downloads\\eicar_com\\eicar - copy.com|Eicar-Test-Virus|56A0F8A9",
                        "CurrentlyCleaning": false,
                        "CleanShutdown": true,
                        "ManualAgentShutdown": false,
                        "AgentStartupTime": "2026-04-13T21:23:13.4748213Z",
                        "SystemState": 1,
                        "SystemStateUpdated": "2026-04-13T21:23:13.4748213Z"
                      },
                      "TimesAndStats": {
                        "LastGarbageRemovalTime": null,
                        "LastGarbageRemovalSize": 0,
                        "TotalGarbageRemovalSize": 0,
                        "LastScan": "2026-04-14T03:23:13.4748213Z",
                        "LastScanDuration": 232,
                        "LastScanCount": 100059,
                        "ScanCount": 4,
                        "ThreatsRemoved": 1,
                        "LastQuickScan": null,
                        "LastQuickScanDuration": 0,
                        "LastFullScan": "2026-04-14T03:23:13.4748213Z",
                        "LastFullScanDuration": 677,
                        "LastCustomScan": null,
                        "LastCustomScanDuration": 0,
                        "LastDeepScan": null,
                        "LastDeepScanDuration": 0
                      },
                      "Scheduling": {
                        "ScheduledScansEnabled": true,
                        "ScheduledScanFrequency": 0,
                        "ScheduledScanTime": "10:00",
                        "ScanWhenIdle": false,
                        "ScanOnBootup": false,
                        "ActiveScans": 0
                      },
                      "EnabledFeatures": {
                        "ProtectionEnabled": true,
                        "RootkitShieldEnabled": true,
                        "WebThreatShieldEnabled": true,
                        "USBShieldEnabled": true,
                        "OfflineShieldEnabled": true,
                        "ScriptShieldStatus": null,
                        "FirewallEnabled": true,
                        "InfraredEnabled": true,
                        "IDShieldEnabled": true,
                        "PhishingShieldEnabled": true,
                        "IsSilent": false
                      },
                      "SystemAnalyzer": {
                        "SystemAnalyzerScore": 0,
                        "HardwareScore": "",
                        "SoftwareScore": "",
                        "ThreatsScore": ""
                      },
                      "OSAndVersions": {
                        "OSBuild": 9600,
                        "OSPlatform": 64,
                        "OSLanguage": 1033,
                        "CurrentUser": "Administrator",
                        "NumUsers": 2,
                        "MaxUsers": 2,
                        "internalIP": "10.230.160.219",
                        "MACAddress": "6D-FE-E0-C1-07-EF",
                        "ADSTRING": "",
                        "Workgroup": "WORKGROUP",
                        "DNSServer": "10.77.125.108",
                        "BinType": "SMEINSTALL",
                        "Email": "",
                        "OtherAVProduct": "",
                        "OtherAVProductVersion": "",
                        "IsOtherAVEnabled": false,
                        "IsOtherAVUpdated": false,
                        "PrimaryBrowser": "IE",
                        "PrimaryBrowserVersion": "9.11.9600.18125",
                        "IsFirewallEnabled": true,
                        "IsVirtualMachine": false,
                        "IPV4": "10.230.160.219",
                        "IPV6": "",
                        "FQDN": "",
                        "NTDOMAIN": "",
                        "LDAPOID": "",
                        "LDAPDN": ""
                      },
                      "MasterKC": "D403-77FA-39F0-4285-B1EE",
                      "KC": "FE99-6F7A-3852-4A5F-94AA",
                      "MachineID": "7542926839e44d6f90b2565581edd0587542926839e44d6f90b2565581edd058:::8634d35fe13145e2a1028634d35fe13145e2a102:::8634d35fe13145e2a1028634d35fe13145e2a102",
                      "LastChanged": "2026-04-10T07:23:13.4748213Z",
                      "HostName": "Computer2",
                      "IPAddress": "95.126.98.53",
                      "ClientVersion": "9.0.13.58",
                      "OS": "Windows Server 2012 (Build 9600) 64bit",
                      "FirstSeen": "2026-02-14T07:23:13.4748213Z",
                      "LastSeen": "2026-04-12T07:23:13.4748213Z",
                      "TimesSeen": 21,
                      "Hidden": false,
                      "Deactivated": false,
                      "ActivationStatusTime": null
                    }
                  ],
                  "ContinuationToken": null,
                  "ContinuationURI": null,
                  "Count": 2
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Site"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/3515-3EC8-3018-4DAB-A776?batchSize=200"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/3515-3EC8-3018-4DAB-A776?batchSize=200&continuation=H4sIAAAAAAAEAM1SS07DMBQckiBVXXXDATgB8bd2d5RuAmkLilhHsetISGkrlMBVuBBnQGLJgnvgkLRdgYQEEgtrPO_Nm-dn-z4EonWeNG5NcAZgFCN5eT4fEVy2QHHVAkPaAsd1CwI3HhB2dRTHvm7nwnDqSRDjxAPTTDauboxZ2RV1jq_IGLs6jtfAk6sLvHnpcIrBdLlMgUFSt5vMNd50mvXuaYc-2WXC"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/3515-3EC8-3018-4DAB-A776?machineId=8a8a1a12345c1ca9eelw78965a9c8d789c6fc75381d1234567890fffa91c138:::57cf6d537c9a3e12345bbdaa8ba2a98765c1c5c2:::57cf6d123c9a3e12345bbdaa8ba2a98765c1c5c2&returnedInfo=BasicInfo"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/3515-3EC8-3018-4DAB-A776?modifiedSince=2019-01-01T22:30:00.000Z"
          }
        ]
      }
    },
    "/api/status/site/dnsp/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Endpoint Status Site"
        ],
        "summary": "Returns DNS protection (DNSP) status information for all endpoints matching the specified criteria.",
        "operationId": "EndpointStatus_GetDNSPStatus",
        "parameters": [
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "A site keycode for which DNSP status information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "ACDA-8B58-9297-442B-9BD3"
          },
          {
            "name": "machineId",
            "in": "query",
            "description": "A machine ID for which DNSP status information is to be retrieved. If omitted, information for all endpoints is for the given site is retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "41f542dbc84645f2af8a2fe21dbf686c41f542dbc84645f2af8a2fe21dbf686c:::5a058b4147024eeebc935a058b4147024eeebc93:::5a058b4147024eeebc935a058b4147024eeebc93"
          },
          {
            "name": "modifiedSince",
            "in": "query",
            "description": "If specified, returns all DNSP status entries, that were generated traffic after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T07:23:13.5216993Z"
          },
          {
            "name": "batchSize",
            "in": "query",
            "description": "Specifies the maximum number of entries returned per request. Valid values range from 1 to 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 4,
            "example": "22"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "A continuation token for batched requests",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "ICZxbT-OobdyhifD"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/DNSPAgentStatus"
                    }
                  ]
                },
                "example": {
                  "QueryResults": [
                    {
                      "HostName": "Computer1",
                      "IsVirtualMachine": false,
                      "DNSAgentStatus": "Installed",
                      "InstalledDate": "2026-03-14T07:23:13.5216993Z",
                      "UninstalledDate": null,
                      "AgentVersion": "1.3.3.35",
                      "LastSeenDate": "2026-04-12T07:23:13.5216993Z",
                      "LastModifiedDate": "2026-03-14T09:23:13.5216993Z",
                      "TrafficCountLast24Hours": 2134,
                      "DNSPolicyID": "bdd9a014-1c8b-456f-b94b-1abbfb5c92f2",
                      "DNSPolicyName": "Securedns High Protection",
                      "MachineID": "a40a4755c3214a6bb376a2d2711add43a40a4755c3214a6bb376a2d2711add43:::bb80abf215594333abc9bb80abf215594333abc9:::bb80abf215594333abc9bb80abf215594333abc9",
                      "KC": "243C-300D-4C97-4C19-AD02",
                      "MasterKC": "4667-B478-9E0D-4238-9E70"
                    },
                    {
                      "HostName": "Computer2",
                      "IsVirtualMachine": false,
                      "DNSAgentStatus": "Installed",
                      "InstalledDate": "2026-02-14T07:23:13.5216993Z",
                      "UninstalledDate": null,
                      "AgentVersion": "1.3.3.35",
                      "LastSeenDate": "2026-04-10T07:23:13.5216993Z",
                      "LastModifiedDate": "2026-02-14T11:23:13.5216993Z",
                      "TrafficCountLast24Hours": 2134,
                      "DNSPolicyID": "b213b9b7-7c77-4ab7-8fc8-7b8649365325",
                      "DNSPolicyName": "Securedns High Protection",
                      "MachineID": "7e25847a638c498ca23bb897dff4887e7e25847a638c498ca23bb897dff4887e:::381d0d7567bd464f893c381d0d7567bd464f893c:::381d0d7567bd464f893c381d0d7567bd464f893c",
                      "KC": "243C-300D-4C97-4C19-AD02",
                      "MasterKC": "4667-B478-9E0D-4238-9E70"
                    }
                  ],
                  "ContinuationToken": null,
                  "ContinuationURI": null,
                  "Count": 2
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Site"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/dnsp/3515-3EC8-3018-4DAB-A776?batchSize=200"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/dnsp/3515-3EC8-3018-4DAB-A776?batchSize=200&continuation=H4sIAAAAAAAEAM1SS07DMBQckiBVXXXDATgB8bd2d5RuAmkLilhHsetISGkrlMBVuBBnQGLJgnvgkLRdgYQEEgtrPO_Nm-dn-z4EonWeNG5NcAZgFCN5eT4fEVy2QHHVAkPaAsd1CwI3HhB2dRTHvm7nwnDqSRDjxAPTTDauboxZ2RV1jq_IGLs6jtfAk6sLvHnpcIrBdLlMgUFSt5vMNd50mvXuaYc-2WXC"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/dnsp/3515-3EC8-3018-4DAB-A776?machineId=8a8a1a12345c1ca9eelw78965a9c8d789c6fc75381d1234567890fffa91c138:::57cf6d537c9a3e12345bbdaa8ba2a98765c1c5c2:::57cf6d123c9a3e12345bbdaa8ba2a98765c1c5c2"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/site/dnsp/3515-3EC8-3018-4DAB-A776?modifiedSince=2019-01-01T22:30:00.000Z"
          }
        ]
      }
    },
    "/api/status/gsm/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Endpoint Status GSM"
        ],
        "summary": "Returns agent status information for all endpoints matching the specified criteria.",
        "description": "Returned information is grouped into several classes which can be selectively included in responses in order to reduce network traffic. Returned items can be grouped into batches by using the 'batchSize' parameter, in which case responses contain a 'continuationURI' and 'ContinuationToken' field, which can be used for requesting the next batch of items.",
        "operationId": "EndpointStatusGSM_GetAgentStatusGSM",
        "parameters": [
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "A GSM keycode for which agent status information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "B570-143D-E53D-4E15-BA51"
          },
          {
            "name": "machineId",
            "in": "query",
            "description": "A machine ID for which agent status is to be retrieved. If omitted, information for all endpoints is retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "b42f2aba8d504102b63c29b2894a80e0b42f2aba8d504102b63c29b2894a80e0:::962c58a62b97471c96bf962c58a62b97471c96bf:::962c58a62b97471c96bf962c58a62b97471c96bf"
          },
          {
            "name": "returnedInfo",
            "in": "query",
            "description": "A comma separated list of classes of information to be contained in the response data (BasicInfo,ExtendedInfo,TimesAndStats,Scheduling,EnabledFeatures,SystemAnalyzer,OSAndVersions). If omitted, all classes of information are returned",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "OSAndVersions,Scheduling,BasicInfo"
          },
          {
            "name": "modifiedSince",
            "in": "query",
            "description": "If specified, returns all agent status entries, that were modified after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T07:23:13.5373232Z"
          },
          {
            "name": "batchSize",
            "in": "query",
            "description": "Specifies the number of entries returned per request. Valid values range from 1 to 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 5,
            "example": "11"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "A continuation token for batched requests",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 6,
            "example": "XbhzWr43O2sGgHCJ"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AgentStatus"
                    }
                  ]
                },
                "example": {
                  "QueryResults": [
                    {
                      "BasicInfo": {
                        "StatusRefreshTime": "2026-04-14T07:13:13.5373232Z",
                        "Managed": false,
                        "SKU": "Webroot SecureAnywhere Endpoint Protection",
                        "PartnerNumber": 0,
                        "Version": "9.0.13.58",
                        "ActiveThreats": 0,
                        "DeviceType": "PC",
                        "AttentionRequired": false,
                        "Infected": false
                      },
                      "ExtendedInfo": {
                        "Uninstalled": false,
                        "Language": "en",
                        "IsExpired": false,
                        "DaysRemaining": 122,
                        "ExpirationDate": "2026-08-14T07:23:13.5373232Z",
                        "RemediationEnabled": true,
                        "ThreatBlocked": false,
                        "WasJustInfected": true,
                        "HasBeenInfected": true,
                        "LatestThreat": "c:\\users\\administrator\\downloads\\eicar_com\\eicar - copy.com|Eicar-Test-Virus|56A0F8A9",
                        "CurrentlyCleaning": false,
                        "CleanShutdown": true,
                        "ManualAgentShutdown": false,
                        "AgentStartupTime": "2026-04-14T02:23:13.5373232Z",
                        "SystemState": 1,
                        "SystemStateUpdated": "2026-04-14T02:23:13.5373232Z"
                      },
                      "TimesAndStats": {
                        "LastGarbageRemovalTime": null,
                        "LastGarbageRemovalSize": 0,
                        "TotalGarbageRemovalSize": 0,
                        "LastScan": "2026-04-14T05:23:13.5373232Z",
                        "LastScanDuration": 108,
                        "LastScanCount": 219892,
                        "ScanCount": 1,
                        "ThreatsRemoved": 1,
                        "LastQuickScan": null,
                        "LastQuickScanDuration": 0,
                        "LastFullScan": "2026-04-14T05:23:13.5373232Z",
                        "LastFullScanDuration": 841,
                        "LastCustomScan": null,
                        "LastCustomScanDuration": 0,
                        "LastDeepScan": null,
                        "LastDeepScanDuration": 0
                      },
                      "Scheduling": {
                        "ScheduledScansEnabled": true,
                        "ScheduledScanFrequency": 0,
                        "ScheduledScanTime": "10:00",
                        "ScanWhenIdle": false,
                        "ScanOnBootup": false,
                        "ActiveScans": 0
                      },
                      "EnabledFeatures": {
                        "ProtectionEnabled": true,
                        "RootkitShieldEnabled": true,
                        "WebThreatShieldEnabled": true,
                        "USBShieldEnabled": true,
                        "OfflineShieldEnabled": true,
                        "ScriptShieldStatus": null,
                        "FirewallEnabled": true,
                        "InfraredEnabled": true,
                        "IDShieldEnabled": true,
                        "PhishingShieldEnabled": true,
                        "IsSilent": false
                      },
                      "SystemAnalyzer": {
                        "SystemAnalyzerScore": 0,
                        "HardwareScore": "",
                        "SoftwareScore": "",
                        "ThreatsScore": ""
                      },
                      "OSAndVersions": {
                        "OSBuild": 9600,
                        "OSPlatform": 64,
                        "OSLanguage": 1033,
                        "CurrentUser": "Administrator",
                        "NumUsers": 2,
                        "MaxUsers": 2,
                        "internalIP": "10.124.103.90",
                        "MACAddress": "CC-81-8E-42-F3-E9",
                        "ADSTRING": "",
                        "Workgroup": "WORKGROUP",
                        "DNSServer": "10.169.151.167",
                        "BinType": "SMEINSTALL",
                        "Email": "",
                        "OtherAVProduct": "",
                        "OtherAVProductVersion": "",
                        "IsOtherAVEnabled": false,
                        "IsOtherAVUpdated": false,
                        "PrimaryBrowser": "IE",
                        "PrimaryBrowserVersion": "9.11.9600.18125",
                        "IsFirewallEnabled": true,
                        "IsVirtualMachine": false,
                        "IPV4": "10.124.103.90",
                        "IPV6": "",
                        "FQDN": "",
                        "NTDOMAIN": "",
                        "LDAPOID": "",
                        "LDAPDN": ""
                      },
                      "MasterKC": "6AC1-7672-890E-4571-B4C1",
                      "KC": "9F77-9376-3ED7-4B2C-B1DB",
                      "MachineID": "ae7f7887ae79448bbe2d65b384ba453fae7f7887ae79448bbe2d65b384ba453f:::2f0d9e82e591411889a82f0d9e82e591411889a8:::2f0d9e82e591411889a82f0d9e82e591411889a8",
                      "LastChanged": "2026-04-12T07:23:13.5373232Z",
                      "HostName": "Computer1",
                      "IPAddress": "95.24.133.7",
                      "ClientVersion": "9.0.13.58",
                      "OS": "Windows Server 2012 (Build 9600) 64bit",
                      "FirstSeen": "2026-03-14T07:23:13.5373232Z",
                      "LastSeen": "2026-04-13T07:23:13.5373232Z",
                      "TimesSeen": 5,
                      "Hidden": false,
                      "Deactivated": false,
                      "ActivationStatusTime": null
                    },
                    {
                      "BasicInfo": {
                        "StatusRefreshTime": "2026-04-14T07:03:13.5373232Z",
                        "Managed": false,
                        "SKU": "Webroot SecureAnywhere Endpoint Protection",
                        "PartnerNumber": 0,
                        "Version": "9.0.13.58",
                        "ActiveThreats": 0,
                        "DeviceType": "PC",
                        "AttentionRequired": false,
                        "Infected": false
                      },
                      "ExtendedInfo": {
                        "Uninstalled": false,
                        "Language": "en",
                        "IsExpired": false,
                        "DaysRemaining": 122,
                        "ExpirationDate": "2026-08-14T07:23:13.5373232Z",
                        "RemediationEnabled": true,
                        "ThreatBlocked": false,
                        "WasJustInfected": true,
                        "HasBeenInfected": true,
                        "LatestThreat": "c:\\users\\administrator\\downloads\\eicar_com\\eicar - copy.com|Eicar-Test-Virus|56A0F8A9",
                        "CurrentlyCleaning": false,
                        "CleanShutdown": true,
                        "ManualAgentShutdown": false,
                        "AgentStartupTime": "2026-04-13T21:23:13.5373232Z",
                        "SystemState": 1,
                        "SystemStateUpdated": "2026-04-13T21:23:13.5373232Z"
                      },
                      "TimesAndStats": {
                        "LastGarbageRemovalTime": null,
                        "LastGarbageRemovalSize": 0,
                        "TotalGarbageRemovalSize": 0,
                        "LastScan": "2026-04-14T03:23:13.5373232Z",
                        "LastScanDuration": 222,
                        "LastScanCount": 214790,
                        "ScanCount": 17,
                        "ThreatsRemoved": 1,
                        "LastQuickScan": null,
                        "LastQuickScanDuration": 0,
                        "LastFullScan": "2026-04-14T03:23:13.5373232Z",
                        "LastFullScanDuration": 971,
                        "LastCustomScan": null,
                        "LastCustomScanDuration": 0,
                        "LastDeepScan": null,
                        "LastDeepScanDuration": 0
                      },
                      "Scheduling": {
                        "ScheduledScansEnabled": true,
                        "ScheduledScanFrequency": 0,
                        "ScheduledScanTime": "10:00",
                        "ScanWhenIdle": false,
                        "ScanOnBootup": false,
                        "ActiveScans": 0
                      },
                      "EnabledFeatures": {
                        "ProtectionEnabled": true,
                        "RootkitShieldEnabled": true,
                        "WebThreatShieldEnabled": true,
                        "USBShieldEnabled": true,
                        "OfflineShieldEnabled": true,
                        "ScriptShieldStatus": null,
                        "FirewallEnabled": true,
                        "InfraredEnabled": true,
                        "IDShieldEnabled": true,
                        "PhishingShieldEnabled": true,
                        "IsSilent": false
                      },
                      "SystemAnalyzer": {
                        "SystemAnalyzerScore": 0,
                        "HardwareScore": "",
                        "SoftwareScore": "",
                        "ThreatsScore": ""
                      },
                      "OSAndVersions": {
                        "OSBuild": 9600,
                        "OSPlatform": 64,
                        "OSLanguage": 1033,
                        "CurrentUser": "Administrator",
                        "NumUsers": 2,
                        "MaxUsers": 2,
                        "internalIP": "10.98.41.137",
                        "MACAddress": "91-89-03-EA-DE-4F",
                        "ADSTRING": "",
                        "Workgroup": "WORKGROUP",
                        "DNSServer": "10.27.69.117",
                        "BinType": "SMEINSTALL",
                        "Email": "",
                        "OtherAVProduct": "",
                        "OtherAVProductVersion": "",
                        "IsOtherAVEnabled": false,
                        "IsOtherAVUpdated": false,
                        "PrimaryBrowser": "IE",
                        "PrimaryBrowserVersion": "9.11.9600.18125",
                        "IsFirewallEnabled": true,
                        "IsVirtualMachine": false,
                        "IPV4": "10.98.41.137",
                        "IPV6": "",
                        "FQDN": "",
                        "NTDOMAIN": "",
                        "LDAPOID": "",
                        "LDAPDN": ""
                      },
                      "MasterKC": "6AC1-7672-890E-4571-B4C1",
                      "KC": "9F77-9376-3ED7-4B2C-B1DB",
                      "MachineID": "384fca5b8a5d471da0ac412d39c3f443384fca5b8a5d471da0ac412d39c3f443:::de7caad9408b49a8970dde7caad9408b49a8970d:::de7caad9408b49a8970dde7caad9408b49a8970d",
                      "LastChanged": "2026-04-10T07:23:13.5373232Z",
                      "HostName": "Computer2",
                      "IPAddress": "95.10.114.26",
                      "ClientVersion": "9.0.13.58",
                      "OS": "Windows Server 2012 (Build 9600) 64bit",
                      "FirstSeen": "2026-02-14T07:23:13.5373232Z",
                      "LastSeen": "2026-04-12T07:23:13.5373232Z",
                      "TimesSeen": 4,
                      "Hidden": false,
                      "Deactivated": false,
                      "ActivationStatusTime": null
                    }
                  ],
                  "ContinuationToken": null,
                  "ContinuationURI": null,
                  "Count": 2
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/3515-3EC8-3018-4DAB-A776?batchSize=200"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/3515-3EC8-3018-4DAB-A776?batchSize=200&continuation=H4sIAAAAAAAEAM1SS07DMBQckiBVXXXDATgB8bd2d5RuAmkLilhHsetISGkrlMBVuBBnQGLJgnvgkLRdgYQEEgtrPO_Nm-dn-z4EonWeNG5NcAZgFCN5eT4fEVy2QHHVAkPaAsd1CwI3HhB2dRTHvm7nwnDqSRDjxAPTTDauboxZ2RV1jq_IGLs6jtfAk6sLvHnpcIrBdLlMgUFSt5vMNd50mvXuaYc-2WXC"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/3515-3EC8-3018-4DAB-A776?machineId=8a8a1a12345c1ca9eelw78965a9c8d789c6fc75381d1234567890fffa91c138:::57cf6d537c9a3e12345bbdaa8ba2a98765c1c5c2:::57cf6d123c9a3e12345bbdaa8ba2a98765c1c5c2&returnedInfo=BasicInfo"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/3515-3EC8-3018-4DAB-A776?modifiedSince=2019-01-01T22:30:00.000Z"
          }
        ]
      }
    },
    "/api/status/gsm/dnsp/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Endpoint Status GSM"
        ],
        "summary": "Returns DNS protection (DNSP) status information for all endpoints matching the specified criteria.",
        "operationId": "EndpointStatusGSM_GetDNSPStatusGSM",
        "parameters": [
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "A GSM parent keycode for which DNSP status information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E93E-9473-A3A0-4A15-9437"
          },
          {
            "name": "machineId",
            "in": "query",
            "description": "A machine ID for which DNSP status information is to be retrieved. If omitted, information for all endpoints is for the given site is retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "9d65ab80e23748f3a042477ffab3f5d69d65ab80e23748f3a042477ffab3f5d6:::b0b611f535914894940ab0b611f535914894940a:::b0b611f535914894940ab0b611f535914894940a"
          },
          {
            "name": "modifiedSince",
            "in": "query",
            "description": "If specified, returns all DNSP status entries, that were modified after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T07:23:13.5529531Z"
          },
          {
            "name": "batchSize",
            "in": "query",
            "description": "Specifies the maximum number of entries returned per request. Valid values range from 1 to 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 4,
            "example": "15"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "A continuation token for batched requests",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "olS2dvbJD54MzVKY"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/DNSPAgentStatus"
                    }
                  ]
                },
                "example": {
                  "QueryResults": [
                    {
                      "HostName": "Computer1",
                      "IsVirtualMachine": false,
                      "DNSAgentStatus": "Installed",
                      "InstalledDate": "2026-03-14T07:23:13.5529531Z",
                      "UninstalledDate": null,
                      "AgentVersion": "1.3.3.35",
                      "LastSeenDate": "2026-04-12T07:23:13.5529531Z",
                      "LastModifiedDate": "2026-03-14T09:23:13.5529531Z",
                      "TrafficCountLast24Hours": 2134,
                      "DNSPolicyID": "fd4ce9c8-e1d9-4ec3-9555-c0386478bcaf",
                      "DNSPolicyName": "Securedns High Protection",
                      "MachineID": "572e4f6cac614f37972e9afc5d69d2c8572e4f6cac614f37972e9afc5d69d2c8:::1d6fbf404fc14c9299b71d6fbf404fc14c9299b7:::1d6fbf404fc14c9299b71d6fbf404fc14c9299b7",
                      "KC": "3380-4438-6044-4667-A238",
                      "MasterKC": "DE93-43FE-5FD4-47A7-978D"
                    },
                    {
                      "HostName": "Computer2",
                      "IsVirtualMachine": false,
                      "DNSAgentStatus": "Installed",
                      "InstalledDate": "2026-02-14T07:23:13.5529531Z",
                      "UninstalledDate": null,
                      "AgentVersion": "1.3.3.35",
                      "LastSeenDate": "2026-04-10T07:23:13.5529531Z",
                      "LastModifiedDate": "2026-02-14T11:23:13.5529531Z",
                      "TrafficCountLast24Hours": 2134,
                      "DNSPolicyID": "c030a8c1-2b39-405e-a07f-15e922efa5b6",
                      "DNSPolicyName": "Securedns High Protection",
                      "MachineID": "756b441afe5b4dc8ac1029afbfa40724756b441afe5b4dc8ac1029afbfa40724:::77d809a674604b249fbf77d809a674604b249fbf:::77d809a674604b249fbf77d809a674604b249fbf",
                      "KC": "3380-4438-6044-4667-A238",
                      "MasterKC": "DE93-43FE-5FD4-47A7-978D"
                    }
                  ],
                  "ContinuationToken": null,
                  "ContinuationURI": null,
                  "Count": 2
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/dnsp/3515-3EC8-3018-4DAB-A776?batchSize=200"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/dnsp/3515-3EC8-3018-4DAB-A776?batchSize=200&continuation=H4sIAAAAAAAEAM1SS07DMBQckiBVXXXDATgB8bd2d5RuAmkLilhHsetISGkrlMBVuBBnQGLJgnvgkLRdgYQEEgtrPO_Nm-dn-z4EonWeNG5NcAZgFCN5eT4fEVy2QHHVAkPaAsd1CwI3HhB2dRTHvm7nwnDqSRDjxAPTTDauboxZ2RV1jq_IGLs6jtfAk6sLvHnpcIrBdLlMgUFSt5vMNd50mvXuaYc-2WXC"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/dnsp/3515-3EC8-3018-4DAB-A776?machineId=8a8a1a12345c1ca9eelw78965a9c8d789c6fc75381d1234567890fffa91c138:::57cf6d537c9a3e12345bbdaa8ba2a98765c1c5c2:::57cf6d123c9a3e12345bbdaa8ba2a98765c1c5c2"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/gsm/dnsp/3515-3EC8-3018-4DAB-A776?modifiedSince=2019-01-01T22:30:00.000Z"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a GSM-level summary report of endpoint usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report includes the total number of sites and endpoints.",
        "operationId": "StatusReporting_GetUsageReportGSM",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "2650-B378-4757-4AA9-8114"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportGSM"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "ReportType": "ActiveEndpoints",
                    "EffectiveDate": "2026-03-23T00:00:00Z",
                    "GSMKey": "7vld543e6t3amwqy0ybq"
                  },
                  "GSM": {
                    "GSMConsoleName": "GSM GLX02LLOKU",
                    "LicenseType": "Full",
                    "ExpiryDate": "2027-09-18T19:03:13.6623389Z",
                    "TotalSitesWithoutTrial": 25,
                    "TotalTrialSites": 17,
                    "TotalEndpointsWithoutTrial": 8044,
                    "TotalTrialEndpoints": 4
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/2650-B378-4757-4AA9-8114"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of endpoint usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the total number of endpoints.",
        "operationId": "StatusReporting_GetUsageReportGSMSites",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "440F-3C06-DCFC-40BB-99C1"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpointsWithoutHidden"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site keycode usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSites"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": null,
                    "ReportType": "EndpointsSeenInLast30Days",
                    "EffectiveDate": "2026-03-23T00:00:00Z",
                    "GSMKey": "wfei0juz56vq00nlugx8"
                  },
                  "Sites": [
                    {
                      "SiteId": "0cc0fd05-35f8-1056-7568-0667648576e1",
                      "SiteKey": "pi2kpo73m8py5a6y3lwk",
                      "SiteName": "Site 10B61YGXA3",
                      "LicenseType": "Trial",
                      "ExpiryDate": "2027-07-11T19:48:13.7092205Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-23T07:23:13.7092205Z",
                      "TotalEndpoints": 3392
                    },
                    {
                      "SiteId": "5504254b-6759-1756-28ba-2a633c2137e2",
                      "SiteKey": "siiikqpvov3k1fzh5s1i",
                      "SiteName": "Site K2TMCGCVI5",
                      "LicenseType": "Full",
                      "ExpiryDate": "2028-06-05T17:39:13.7092205Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-23T07:23:13.7092205Z",
                      "TotalEndpoints": 9924
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/440F-3C06-DCFC-40BB-99C1/sites"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of endpoint usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the total number of endpoints.",
        "operationId": "StatusReporting_GetUsageReportGSMSitesBySite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "673B-DA2C-A6B5-4EF3-BC4A"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "85B4-46EF-A1B4-46C5-992C"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns site keycode usage statistics for the specified site keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSite"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 1,
                    "SiteKeyFilter": null,
                    "ReportType": "ActiveEndpoints",
                    "EffectiveDate": "2026-03-25T00:00:00Z",
                    "GSMKey": "2eyn101g85wbg84epqha"
                  },
                  "Sites": [
                    {
                      "SiteId": "5cfdc13f-2056-5e8a-1484-6985def014c9",
                      "SiteKey": "3codo3lr6ww3gz2hhmr4",
                      "SiteName": "Site BTMPXZJG7E",
                      "LicenseType": "Full",
                      "ExpiryDate": "2027-09-14T06:09:13.7248432Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-04-04T07:23:13.7248432Z",
                      "TotalEndpoints": 5783
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/673B-DA2C-A6B5-4EF3-BC4A/sites/85B4-46EF-A1B4-46C5-992C"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report of endpoint usage for a GSM master keycode. For each endpoint the report includes information like the endpoint's hostname, machine identifier, and its activation state",
        "description": "**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.",
        "operationId": "StatusReporting_GetUsageReportGSMEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "F38B-4178-B0EA-44B4-8CF2"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "1mKE4qJe839M7x7N"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of endpoint usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportEndpoints"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "ContinuationToken": "O6e8YBDDi2g-2556",
                    "SiteKeyFilter": null,
                    "ReportType": "ActiveEndpoints",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "GSMKey": "e4li9fi4l10my04gg4km"
                  },
                  "Endpoints": [
                    {
                      "MachineId": "2511e579da91671f239d9724d7cef9daf9865fd3fa0fd6d8d46c080a2c478893:::cf1cfaa356df7366941b31969d48b6a61c2e4082:::cf1cfaa356df7366941b31969d48b6a61c2e4082",
                      "SiteId": "512caf81-1a14-35bb-559a-569bb0690b18",
                      "SiteKey": "i8o44kr5a0nzhfpds8zq",
                      "HostName": "NODESI97HU9XNW",
                      "FriendlyHostName": "FRIENDLY-NODESI97HU9XNW",
                      "LastSeen": "2026-03-20T23:10:13.7717518Z",
                      "DeviceType": "PC",
                      "OS": "Windows Server 2016 (Build 14393) 64bit",
                      "IsHidden": false,
                      "IsDeactivated": false,
                      "IsTrial": false,
                      "ActivationStatusTime": "2026-03-31T09:54:13.7717518Z"
                    },
                    {
                      "MachineId": "85e3c689c5b8b7f339eeb498c017fb920a658ad9f8c53953f8405214c56c5191:::c98009a8b4f38353be7779cd9292314deb8a0425:::c98009a8b4f38353be7779cd9292314deb8a0425",
                      "SiteId": "6f22da05-5b65-26b8-0652-1a1a17f46ef0",
                      "SiteKey": "0taidqwewi2zq4brmwae",
                      "HostName": "NODEDAX70RUKD4",
                      "FriendlyHostName": "FRIENDLY-NODEDAX70RUKD4",
                      "LastSeen": "2026-04-05T02:52:13.7717518Z",
                      "DeviceType": "MAC",
                      "OS": "Windows Server 2016 (Build 14393) 64bit",
                      "IsHidden": false,
                      "IsDeactivated": false,
                      "IsTrial": true,
                      "ActivationStatusTime": "2026-03-28T11:00:13.7717518Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/gsm/3515-3EC8-3018-4DAB-A776/endpoints?reportType=EndpointsSeenInLast30Days&effectiveDate=2019-08-26T00:00:00.0000000Z"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/gsm/3515-3EC8-3018-4DAB-A776/endpoints?reportType=EndpointsSeenInLast30Days&effectiveDate=2019-08-26T00:00:00.0000000Z&continuation=n2Lek49F3pOdYt6T"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/{keyCode}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report of endpoint usage for a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's hostname, machine identifier, and its activation state.",
        "description": "**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM site. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.",
        "operationId": "StatusReporting_GetUsageReportGSMEndpoints2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "85AC-ED6D-1212-46CB-B599"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "0D74-CB36-EBF5-4025-BE0F"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "lRa7mt8Tu2TddpZK"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of endpoint usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportEndpoints"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "ContinuationToken": "O6e8YBDDi2g-2556",
                    "SiteKeyFilter": null,
                    "ReportType": "ActiveEndpoints",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "GSMKey": "e4li9fi4l10my04gg4km"
                  },
                  "Endpoints": [
                    {
                      "MachineId": "2511e579da91671f239d9724d7cef9daf9865fd3fa0fd6d8d46c080a2c478893:::cf1cfaa356df7366941b31969d48b6a61c2e4082:::cf1cfaa356df7366941b31969d48b6a61c2e4082",
                      "SiteId": "512caf81-1a14-35bb-559a-569bb0690b18",
                      "SiteKey": "i8o44kr5a0nzhfpds8zq",
                      "HostName": "NODESI97HU9XNW",
                      "FriendlyHostName": "FRIENDLY-NODESI97HU9XNW",
                      "LastSeen": "2026-03-20T23:10:13.7717518Z",
                      "DeviceType": "PC",
                      "OS": "Windows Server 2016 (Build 14393) 64bit",
                      "IsHidden": false,
                      "IsDeactivated": false,
                      "IsTrial": false,
                      "ActivationStatusTime": "2026-03-31T09:54:13.7717518Z"
                    },
                    {
                      "MachineId": "85e3c689c5b8b7f339eeb498c017fb920a658ad9f8c53953f8405214c56c5191:::c98009a8b4f38353be7779cd9292314deb8a0425:::c98009a8b4f38353be7779cd9292314deb8a0425",
                      "SiteId": "6f22da05-5b65-26b8-0652-1a1a17f46ef0",
                      "SiteKey": "0taidqwewi2zq4brmwae",
                      "HostName": "NODEDAX70RUKD4",
                      "FriendlyHostName": "FRIENDLY-NODEDAX70RUKD4",
                      "LastSeen": "2026-04-05T02:52:13.7717518Z",
                      "DeviceType": "MAC",
                      "OS": "Windows Server 2016 (Build 14393) 64bit",
                      "IsHidden": false,
                      "IsDeactivated": false,
                      "IsTrial": true,
                      "ActivationStatusTime": "2026-03-28T11:00:13.7717518Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/gsm/3515-3EC8-3018-4DAB-A776/sites/9FD5-D6B7-0DEA-4F1F-BD33/endpoints?reportType=EndpointsSeenInLast30Days&effectiveDate=2019-08-26T00:00:00.0000000Z"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/gsm/3515-3EC8-3018-4DAB-A776/endpoints?reportType=EndpointsSeenInLast30Days&effectiveDate=2019-08-26T00:00:00.0000000Z&continuation=n2Lek49F3pOdYt6T"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/dnsp": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a GSM-level summary report of DNSP usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report includes the total number of sites and devices.",
        "operationId": "StatusReporting_GetUsageReportGSM_DNSP",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "EF75-DE6F-51CF-4119-9253"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"DevicesSeen\": Provides DNSP statistics for all devices seen on the effective report date.\n- \"DevicesSeenInLast30Days\": Provides DNSP statistics for all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"DevicesSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "DevicesSeen"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportGSM_DNSP"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "ReportType": "DevicesSeen",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "GSMKey": "qltzzvqciiofw3cduk6k"
                  },
                  "GSM": {
                    "GSMConsoleName": "GSM T4BTWK1LVR",
                    "GSMLicenseType": "Full",
                    "GSMExpiryDate": "2028-01-15T18:12:13.8186036Z",
                    "DNSPEnabled": true,
                    "DNSPLicenseType": "Full",
                    "DNSPExpiryDate": "2028-01-22T00:58:13.8186036Z",
                    "TotalSitesWithoutDNSP": 154,
                    "TotalSitesWithDNSPFull": 483,
                    "TotalSitesWithDNSPTrial": 436,
                    "TotalDNSPDevicesProxyFull": 766,
                    "TotalDNSPDevicesProxyTrial": 1022,
                    "TotalDNSPDevicesActualFull": 812,
                    "TotalDNSPDevicesActualTrial": 938,
                    "TotalDNSPAgentlessRequestsFull": 2220000,
                    "TotalDNSPAgentlessRequestsTrial": 4230000,
                    "TotalDNSPAgentsFull": 738,
                    "TotalDNSPAgentsTrial": 864
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/EF75-DE6F-51CF-4119-9253/dnsp"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/dnsp": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of DNSP usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the total number of devices.",
        "operationId": "StatusReporting_GetUsageReportGSMSites_DNSP",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1B5E-6A76-EABF-4A93-A63B"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"DevicesSeen\": Provides DNSP statistics for all devices seen on the effective report date.\n- \"DevicesSeenInLast30Days\": Provides DNSP statistics for all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"DevicesSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "DevicesSeen"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site keycode usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSites_DNSP"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": null,
                    "ReportType": "DevicesSeenInLast30Days",
                    "EffectiveDate": "2026-04-02T00:00:00Z",
                    "GSMKey": "cvvayvj3opy9m8oyywdx"
                  },
                  "Sites": [
                    {
                      "SiteId": "2fef65b5-7344-4d21-7518-060fd9f31a13",
                      "SiteKey": "0ykv5zwwmdnj5n6269cs",
                      "SiteName": "Site WN0YFWLHKY",
                      "SiteLicenseType": "Full",
                      "SiteExpiryDate": "2028-10-24T06:24:13.8498575Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-22T07:23:13.8498575Z",
                      "DNSPEnabled": true,
                      "DNSPLicenseType": "Full",
                      "DNSPExpiryDate": "2027-04-04T12:57:13.8498575Z",
                      "TotalDNSPDevicesProxy": 56,
                      "TotalDNSPDevicesActual": 52,
                      "TotalDNSPAgentlessRequests": 750000,
                      "TotalDNSPAgents": 27
                    },
                    {
                      "SiteId": "07574982-7e70-6203-47a4-3b23f7705476",
                      "SiteKey": "c67u9w4sum8wqioplxpr",
                      "SiteName": "Site 6XOV1UQDQW",
                      "SiteLicenseType": "Trial",
                      "SiteExpiryDate": "2026-05-18T15:34:13.8498575Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-23T07:23:13.8498575Z",
                      "DNSPEnabled": true,
                      "DNSPLicenseType": "Trial",
                      "DNSPExpiryDate": "2026-11-27T19:05:13.8498575Z",
                      "TotalDNSPDevicesProxy": 70,
                      "TotalDNSPDevicesActual": 83,
                      "TotalDNSPAgentlessRequests": 900000,
                      "TotalDNSPAgents": 53
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/1B5E-6A76-EABF-4A93-A63B/sites/dnsp"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/{keyCode}/dnsp": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of DNSP usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the total number of devices.",
        "operationId": "StatusReporting_GetUsageReportGSMSitesBySite_DNSP",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1412-F240-4A71-4F5F-8359"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "4BE4-503F-FDE4-4D96-B301"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"DevicesSeen\": Provides DNSP statistics for all devices seen on the effective report date.\n- \"DevicesSeenInLast30Days\": Provides DNSP statistics for all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"DevicesSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "DevicesSeenInLast30Days"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site keycode usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSite_DNSP"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 1,
                    "SiteKeyFilter": null,
                    "ReportType": "DevicesSeenInLast30Days",
                    "EffectiveDate": "2026-04-03T00:00:00Z",
                    "GSMKey": "hnuubxq38cofl8drs2td"
                  },
                  "Sites": [
                    {
                      "SiteId": "2544d62e-2894-6546-5b5b-7bc9ad4720ed",
                      "SiteKey": "bjcthz6oqda10zwxx2hf",
                      "SiteName": "Site 8NJSQY4H0L",
                      "SiteLicenseType": "Trial",
                      "SiteExpiryDate": "2028-05-02T23:44:13.8654908Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-22T07:23:13.8654908Z",
                      "DNSPEnabled": true,
                      "DNSPLicenseType": "Trial",
                      "DNSPExpiryDate": "2028-12-25T02:44:13.8654908Z",
                      "TotalDNSPDevicesProxy": 83,
                      "TotalDNSPDevicesActual": 82,
                      "TotalDNSPAgentlessRequests": 300000,
                      "TotalDNSPAgents": 72
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/1412-F240-4A71-4F5F-8359/sites/4BE4-503F-FDE4-4D96-B301/dnsp"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/wsat": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a GSM-level summary report of WSAT usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report includes the total number of sites and users.",
        "operationId": "StatusReporting_GetUsageReportGSM_WSAT",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7C02-1FB8-431A-4B7B-AE09"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "UsersSeen"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportGSM_WSAT"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "ReportType": "UsersSeen",
                    "EffectiveDate": "2026-03-26T00:00:00Z",
                    "GSMKey": "bvlxb8bnufy4qafe4qju"
                  },
                  "GSM": {
                    "GSMConsoleName": "GSM WNV101HQ5K",
                    "GSMLicenseType": "Full",
                    "GSMExpiryDate": "2028-10-06T13:29:13.8967639Z",
                    "WSATEnabled": true,
                    "WSATLicenseType": "Full",
                    "WSATExpiryDate": "2027-05-24T12:18:13.8967639Z",
                    "TotalSitesWithoutWSAT": 271,
                    "TotalSitesWithWSATFull": 336,
                    "TotalSitesWithWSATTrial": 247,
                    "TotalWSATFullUsers": 1044,
                    "TotalWSATTrialUsers": 8116
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/7C02-1FB8-431A-4B7B-AE09/wsat"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/wsat": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of WSAT usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the total number of users.",
        "operationId": "StatusReporting_GetUsageReportGSMSites_WSAT",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "5C58-68B2-901F-484B-A973"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "UsersSeenInLast30Days"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site keycode usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSites_WSAT"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": null,
                    "ReportType": "UsersSeenInLast30Days",
                    "EffectiveDate": "2026-04-11T00:00:00Z",
                    "GSMKey": "lntwzqz8hidcnu2p0xtp"
                  },
                  "Sites": [
                    {
                      "SiteId": "7b49b7b8-3111-20ac-1d5a-5c1de4cb5314",
                      "SiteKey": "9dvql1xtl1bd0x9f1jj8",
                      "SiteName": "Site I6EVXFJYUI",
                      "SiteLicenseType": "Trial",
                      "SiteExpiryDate": "2026-06-30T23:39:13.9436177Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-26T07:23:13.9436177Z",
                      "WSATEnabled": true,
                      "WSATLicenseType": "Trial",
                      "WSATExpiryDate": "2026-04-15T15:05:13.9436177Z",
                      "TotalWSATUsers": 21
                    },
                    {
                      "SiteId": "07d22fe4-661a-1230-72a8-34b2aae27070",
                      "SiteKey": "rl1pz3wa91od8a3fs88d",
                      "SiteName": "Site L3DPP4XFGQ",
                      "SiteLicenseType": "Trial",
                      "SiteExpiryDate": "2027-08-16T21:52:13.9436177Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-19T07:23:13.9436177Z",
                      "WSATEnabled": true,
                      "WSATLicenseType": "Trial",
                      "WSATExpiryDate": "2027-08-07T13:23:13.9436177Z",
                      "TotalWSATUsers": 9
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/5C58-68B2-901F-484B-A973/sites/wsat"
          }
        ]
      }
    },
    "/api/status/reporting/gsm/{gsmKey}/sites/{keyCode}/wsat": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of WSAT usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the total number of users.",
        "operationId": "StatusReporting_GetUsageReportGSMSitesBySite_WSAT",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D13B-9CA3-F049-4A15-9A71"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "E580-BE50-E355-4B6A-82F4"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "UsersSeen"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site keycode usage statistics having the specified master key as parent.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSite_WSAT"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 1,
                    "SiteKeyFilter": null,
                    "ReportType": "UsersSeenInLast30Days",
                    "EffectiveDate": "2026-04-11T00:00:00Z",
                    "GSMKey": "lntwzqz8hidcnu2p0xtp"
                  },
                  "Sites": [
                    {
                      "SiteId": "7b49b7b8-3111-20ac-1d5a-5c1de4cb5314",
                      "SiteKey": "9dvql1xtl1bd0x9f1jj8",
                      "SiteName": "Site I6EVXFJYUI",
                      "SiteLicenseType": "Trial",
                      "SiteExpiryDate": "2026-06-30T23:39:13.9436177Z",
                      "SiteState": "active",
                      "SiteStateChangedDate": "2026-03-26T07:23:13.9436177Z",
                      "WSATEnabled": true,
                      "WSATLicenseType": "Trial",
                      "WSATExpiryDate": "2026-04-15T15:05:13.9436177Z",
                      "TotalWSATUsers": 21
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/gsm/D13B-9CA3-F049-4A15-9A71/sites/E580-BE50-E355-4B6A-82F4/wsat"
          }
        ]
      }
    },
    "/api/status/reporting/pillr/{partnerkeycode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a partner-level summary usage report for a partner keycode. Besides general information like the partner's name and the product license status the report includes high watermark data.",
        "operationId": "StatusReporting_GetUsageReportPartner_Pillr",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "15FB-CEB4-BC8C-4859-A35F"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns partner-level usage statistics for a Pillr partner keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportPillr_Partner"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-04-05T00:00:00Z",
                    "PartnerKey": "fu1nkdmd8qgqrrabqv83"
                  },
                  "General": {
                    "PartnerName": "Partner 1",
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "partnerpillr,full"
                  },
                  "Products": [
                    {
                      "ProductName": "Pillr Platform",
                      "Licenses": [
                        {
                          "Status": "Active",
                          "HighWatermarkEndpoints": 325,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 218,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "NFR",
                          "HighWatermarkEndpoints": 129,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Mobile",
                      "Licenses": [
                        {
                          "Status": "Active",
                          "HighWatermarkEndpoints": 25,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 18,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Chromebook",
                      "Licenses": [
                        {
                          "Status": "Active",
                          "HighWatermarkEndpoints": 15,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 7,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Compliance Storage",
                      "Licenses": [
                        {
                          "Status": "Active",
                          "HighWatermarkEndpoints": 0,
                          "HighWatermarkGigabytes": 12.3
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 0,
                          "HighWatermarkGigabytes": 10.1
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/pillr/15FB-CEB4-BC8C-4859-A35F"
          }
        ]
      }
    },
    "/api/status/reporting/pillr/{partnerkeycode}/customers": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a customer-level summary report for a partner keycode. For each customer the report includes information like the customer name and license type as well as high watermark data.",
        "operationId": "StatusReporting_GetUsageReportPartner_Customers_Pillr",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9983-ADFA-A5F9-4905-81AE"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns customer-level usage statistics for a Pillr partner keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportPillr_Partner_Customers"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-04-02T00:00:00Z",
                    "PartnerKey": "idh1va329z7616ljk7ww"
                  },
                  "General": {
                    "PartnerName": "Partner 1",
                    "PartnerId": "PART001",
                    "PartnerLicenseType": null
                  },
                  "Customers": [
                    {
                      "CustomerName": "Customer 1",
                      "CustomerId": "CUST001",
                      "CustomerLicenseType": "customererpillr,full",
                      "CustomerKey": "pa955ii75ij9vatc3h51",
                      "Products": [
                        {
                          "ProductName": "Pillr Platform",
                          "Licenses": [
                            {
                              "SubscriptionId": 121,
                              "CreatedDate": "2024-07-12T00:00:00Z",
                              "StartDate": "2024-07-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 25,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 122,
                              "CreatedDate": "2024-08-12T00:00:00Z",
                              "StartDate": "2024-08-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 35,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 123,
                              "CreatedDate": "2024-07-13T00:00:00Z",
                              "StartDate": "2024-07-13T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 18,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 124,
                              "CreatedDate": "2024-07-14T00:00:00Z",
                              "StartDate": "2024-07-14T00:00:00Z",
                              "EndDate": null,
                              "Status": "NFR",
                              "HighWatermarkEndpoints": 2,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Platform Mobile",
                          "Licenses": [
                            {
                              "SubscriptionId": 324,
                              "CreatedDate": "2024-07-12T00:00:00Z",
                              "StartDate": "2024-07-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 25,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 325,
                              "CreatedDate": "2024-08-12T00:00:00Z",
                              "StartDate": "2024-08-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 35,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 331,
                              "CreatedDate": "2024-07-13T00:00:00Z",
                              "StartDate": "2024-07-13T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 18,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Platform Chromebook",
                          "Licenses": [
                            {
                              "SubscriptionId": 224,
                              "CreatedDate": "2024-07-20T00:00:00Z",
                              "StartDate": "2024-07-20T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 15,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 286,
                              "CreatedDate": "2024-07-02T00:00:00Z",
                              "StartDate": "2024-07-03T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 2,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Compliance Storage",
                          "Licenses": [
                            {
                              "SubscriptionId": 128,
                              "CreatedDate": "2024-07-10T00:00:00Z",
                              "StartDate": "2024-07-10T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 0,
                              "HighWatermarkGigabytes": 12.3
                            },
                            {
                              "SubscriptionId": 129,
                              "CreatedDate": "2024-07-11T00:00:00Z",
                              "StartDate": "2024-07-11T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 0,
                              "HighWatermarkGigabytes": 1.1
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "CustomerName": "Customer 2",
                      "CustomerId": "CUST002",
                      "CustomerLicenseType": "customererpillr,full",
                      "CustomerKey": "e8yyrwygjsy6x38idl6m",
                      "Products": [
                        {
                          "ProductName": "Pillr Platform",
                          "Licenses": [
                            {
                              "SubscriptionId": 521,
                              "CreatedDate": "2024-07-12T00:00:00Z",
                              "StartDate": "2024-07-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 25,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 522,
                              "CreatedDate": "2024-07-13T00:00:00Z",
                              "StartDate": "2024-07-13T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 18,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 523,
                              "CreatedDate": "2024-07-14T00:00:00Z",
                              "StartDate": "2024-07-14T00:00:00Z",
                              "EndDate": null,
                              "Status": "NFR",
                              "HighWatermarkEndpoints": 2,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Platform Mobile",
                          "Licenses": [
                            {
                              "SubscriptionId": 234,
                              "CreatedDate": "2024-07-12T00:00:00Z",
                              "StartDate": "2024-07-12T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 25,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 232,
                              "CreatedDate": "2024-07-13T00:00:00Z",
                              "StartDate": "2024-07-13T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 18,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Platform Chromebook",
                          "Licenses": [
                            {
                              "SubscriptionId": 234,
                              "CreatedDate": "2024-07-20T00:00:00Z",
                              "StartDate": "2024-07-20T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 15,
                              "HighWatermarkGigabytes": 0.0
                            },
                            {
                              "SubscriptionId": 342,
                              "CreatedDate": "2024-07-22T00:00:00Z",
                              "StartDate": "2024-07-22T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 1,
                              "HighWatermarkGigabytes": 0.0
                            }
                          ]
                        },
                        {
                          "ProductName": "Pillr Compliance Storage",
                          "Licenses": [
                            {
                              "SubscriptionId": 321,
                              "CreatedDate": "2024-07-10T00:00:00Z",
                              "StartDate": "2024-07-10T00:00:00Z",
                              "EndDate": null,
                              "Status": "Active",
                              "HighWatermarkEndpoints": 0,
                              "HighWatermarkGigabytes": 12.3
                            },
                            {
                              "SubscriptionId": 113,
                              "CreatedDate": "2024-07-11T00:00:00Z",
                              "StartDate": "2024-07-11T00:00:00Z",
                              "EndDate": null,
                              "Status": "Trial",
                              "HighWatermarkEndpoints": 0,
                              "HighWatermarkGigabytes": 1.1
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/pillr/9983-ADFA-A5F9-4905-81AE/customers"
          }
        ]
      }
    },
    "/api/status/reporting/pillr/{partnerkeycode}/customers/{customerkeycode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a customer-level summary report for a partner keycode by a customer keycode. The report includes information like the customer name and license type as well as high watermark data.",
        "operationId": "StatusReporting_GetUsageReportPartner_Customer_Pillr",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7AE3-CED9-3144-4A23-BBA5"
          },
          {
            "name": "customerkeycode",
            "in": "path",
            "required": true,
            "description": "A customer keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "E01E-A6E7-4F51-4D1A-B808"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns customer-level usage statistics for a Pillr partner keycode and customer key code.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportPillr_Customer"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "CustomerKey": "300hkx2vqu6h2kao27i7",
                    "EffectiveDate": "2026-04-08T00:00:00Z",
                    "PartnerKey": "ie1h6o2w196zobpi6452"
                  },
                  "General": {
                    "CustomerName": "Customer 1",
                    "CustomerId": "CUST001",
                    "CustomerLicenseType": "customererpillr,full",
                    "PartnerName": "Partner 1",
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "partnerpillr,full"
                  },
                  "Products": [
                    {
                      "ProductName": "Pillr Platform",
                      "Licenses": [
                        {
                          "SubscriptionId": 521,
                          "CreatedDate": "2024-07-12T00:00:00Z",
                          "StartDate": "2024-07-12T00:00:00Z",
                          "EndDate": null,
                          "Status": "Active",
                          "HighWatermarkEndpoints": 25,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "SubscriptionId": 522,
                          "CreatedDate": "2024-07-13T00:00:00Z",
                          "StartDate": "2024-07-13T00:00:00Z",
                          "EndDate": null,
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 18,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "SubscriptionId": 523,
                          "CreatedDate": "2024-07-14T00:00:00Z",
                          "StartDate": "2024-07-14T00:00:00Z",
                          "EndDate": null,
                          "Status": "NFR",
                          "HighWatermarkEndpoints": 2,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Mobile",
                      "Licenses": [
                        {
                          "SubscriptionId": 324,
                          "CreatedDate": "2024-07-12T00:00:00Z",
                          "StartDate": "2024-07-12T00:00:00Z",
                          "EndDate": null,
                          "Status": "Active",
                          "HighWatermarkEndpoints": 25,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "SubscriptionId": 331,
                          "CreatedDate": "2024-07-13T00:00:00Z",
                          "StartDate": "2024-07-13T00:00:00Z",
                          "EndDate": null,
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 18,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Chromebook",
                      "Licenses": [
                        {
                          "SubscriptionId": 224,
                          "CreatedDate": "2024-07-20T00:00:00Z",
                          "StartDate": "2024-07-20T00:00:00Z",
                          "EndDate": null,
                          "Status": "Active",
                          "HighWatermarkEndpoints": 15,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "SubscriptionId": 285,
                          "CreatedDate": "2024-07-22T00:00:00Z",
                          "StartDate": "2024-07-22T00:00:00Z",
                          "EndDate": null,
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 1,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Compliance Storage",
                      "Licenses": [
                        {
                          "SubscriptionId": 122,
                          "CreatedDate": "2024-07-10T00:00:00Z",
                          "StartDate": "2024-07-10T00:00:00Z",
                          "EndDate": null,
                          "Status": "Active",
                          "HighWatermarkEndpoints": 0,
                          "HighWatermarkGigabytes": 12.3
                        },
                        {
                          "SubscriptionId": 124,
                          "CreatedDate": "2024-07-11T00:00:00Z",
                          "StartDate": "2024-07-11T00:00:00Z",
                          "EndDate": null,
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 0,
                          "HighWatermarkGigabytes": 1.1
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/pillr/7AE3-CED9-3144-4A23-BBA5/customers/E01E-A6E7-4F51-4D1A-B808"
          }
        ]
      }
    },
    "/api/status/reporting/pillr/{partnerkeycode}/customers/{customerkeycode}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report for a partner keycode by a customer keycode. For each endpoint the report includes information like the endpoint's agent id, hostname, mac address and its host ip data.",
        "operationId": "StatusReporting_GetUsageReportPartner_Endpoints_Pillr",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "C471-DD00-041D-425E-B130"
          },
          {
            "name": "customerkeycode",
            "in": "path",
            "required": true,
            "description": "A customer keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "3DCA-C2F9-7821-4933-82E1"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "7a4JbTSGgJ0Qs7_O"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns endpoint-level usage statistics for a Pillr partner keycode and customer key code.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportPillr_Endpoint"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "ContinuationToken": "dnpVkqV6zcvMxZay",
                    "CustomerKey": "t8jbcgcd9mwowm3ltccv",
                    "EffectiveDate": "2026-04-10T00:00:00Z",
                    "PartnerKey": "4xe5eciuahfhjxh7imk7"
                  },
                  "General": {
                    "CustomerName": "Customer 1",
                    "CustomerId": "CUST001",
                    "CustomerLicenseType": "customererpillr,full",
                    "PartnerName": "Partner 1",
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "partnerpillr,full"
                  },
                  "Products": [
                    {
                      "ProductName": "Pillr Platform",
                      "Endpoints": [
                        {
                          "AgentId": "12345678901234567890120",
                          "HostName": "Host Name 0",
                          "MacAddress": "00:1A:2B:3C:4D:5A",
                          "HostIP": "192.168.0.0",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-11T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901231",
                          "HostName": "Host Name 1",
                          "MacAddress": "00:1A:2B:3C:4D:5B",
                          "HostIP": "192.168.0.1",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-12T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901232",
                          "HostName": "Host Name 2",
                          "MacAddress": "01:1A:2B:3C:4D:5C",
                          "HostIP": "192.168.0.2",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-13T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901233",
                          "HostName": "Host Name 3",
                          "MacAddress": "02:1A:2B:3C:4D:5D",
                          "HostIP": "192.168.0.3",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-14T16:17:52Z"
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Mobile",
                      "Endpoints": [
                        {
                          "AgentId": "123456789012345678901230",
                          "HostName": "Host Name 4",
                          "MacAddress": null,
                          "HostIP": "192.168.0.4",
                          "MobileNumber": "......1234",
                          "Heartbeat": "2024-10-10T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901234",
                          "HostName": "Host Name 5",
                          "MacAddress": null,
                          "HostIP": "192.168.0.5",
                          "MobileNumber": "......2345",
                          "Heartbeat": "2024-10-12T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901235",
                          "HostName": "Host Name 6",
                          "MacAddress": null,
                          "HostIP": "192.168.0.6",
                          "MobileNumber": "......3456",
                          "Heartbeat": "2024-10-13T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901236",
                          "HostName": "Host Name 7",
                          "MacAddress": null,
                          "HostIP": "192.168.0.7",
                          "MobileNumber": "......4567",
                          "Heartbeat": "2024-10-09T16:17:52Z"
                        }
                      ]
                    },
                    {
                      "ProductName": "Pillr Platform Chromebook",
                      "Endpoints": [
                        {
                          "AgentId": "123456789012345678901237",
                          "HostName": "Host Name 8",
                          "MacAddress": "03:1A:2B:3C:4D:5I",
                          "HostIP": "192.168.0.8",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-08T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901238",
                          "HostName": "Host Name 9",
                          "MacAddress": "04:1A:2B:3C:4D:5J",
                          "HostIP": "192.168.0.9",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-10T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901239",
                          "HostName": "Host Name 10",
                          "MacAddress": "05:1A:2B:3C:4D:5K",
                          "HostIP": "192.168.1.0",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-11T16:17:52Z"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/pillr/C471-DD00-041D-425E-B130/customers/3DCA-C2F9-7821-4933-82E1/endpoints"
          }
        ]
      }
    },
    "/api/status/reporting/detectionandresponse/gsm/{gsmKey}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a GSM-level summary report for \"Detection and Response\" related products linked to a GSM master keycode. Besides general information like the GSM console name and the product license status the report includes high watermark data.",
        "operationId": "StatusReporting_GetUsageReportGSM_DetectionAndResponse",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "2101-E77A-AAD1-4270-8DFA"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns GSM-level usage statistics for \"Detection and Response\" related products for a GSM keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GSM"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-03-18T00:00:00Z",
                    "GSMKey": "hsjbghg6uc0qo12scyyh"
                  },
                  "General": {
                    "GSMConsoleName": "GSM S0JBU7NF37",
                    "GSMConsoleLicenseType": "full"
                  },
                  "Products": [
                    {
                      "ProductName": "Endpoint Detection and Response",
                      "Licenses": [
                        {
                          "Status": "Full",
                          "HighWatermarkEndpoints": 325,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 218,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Managed Detection and Response",
                      "Licenses": [
                        {
                          "Status": "Full",
                          "HighWatermarkEndpoints": 25,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 18,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Detection and Response Mobile",
                      "Licenses": [
                        {
                          "Status": "Full",
                          "HighWatermarkEndpoints": 15,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 7,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Detection and Response Chromebook",
                      "Licenses": [
                        {
                          "Status": "Full",
                          "HighWatermarkEndpoints": 10,
                          "HighWatermarkGigabytes": 0.0
                        },
                        {
                          "Status": "Trial",
                          "HighWatermarkEndpoints": 12,
                          "HighWatermarkGigabytes": 0.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Detection and Response Compliance Storage",
                      "Licenses": [
                        {
                          "Status": "Full",
                          "HighWatermarkEndpoints": 0,
                          "HighWatermarkGigabytes": 12.3
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/detectionandresponse/gsm/2101-E77A-AAD1-4270-8DFA"
          }
        ]
      }
    },
    "/api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report for \"Detection and Response\" related products linked to a GSM master keycode. For each site the report includes information like the site name and license type as well as high watermark data.",
        "operationId": "StatusReporting_GetUsageReportSites_DetectionAndResponse",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E291-E502-3165-434B-BDF9"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of site specific usage statistics for \"Detection and Response\" related products linked to a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportDetectionAndResponse_Sites"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-04-10T00:00:00Z",
                    "GSMKey": "19crz9ztucf8cq2ichwc"
                  },
                  "General": {
                    "GSMConsoleName": "GSM Console 1",
                    "GSMConsoleLicenseType": "Full"
                  },
                  "Sites": [
                    {
                      "SiteName": "Site 1",
                      "SiteLicenseType": "Trial",
                      "SiteKey": "boqkyrk1unigxfknwphm",
                      "Products": [
                        {
                          "ProductName": "Endpoint Detection and Response",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Trial",
                            "HighWatermarkEndpoints": 18,
                            "HighWatermarkGigabytes": 0.0
                          }
                        },
                        {
                          "ProductName": "Detection and Response Mobile",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Trial",
                            "HighWatermarkEndpoints": 18,
                            "HighWatermarkGigabytes": 0.0
                          }
                        },
                        {
                          "ProductName": "Detection and Response Chromebook",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Trial",
                            "HighWatermarkEndpoints": 18,
                            "HighWatermarkGigabytes": 0.0
                          }
                        }
                      ]
                    },
                    {
                      "SiteName": "Site 2",
                      "SiteLicenseType": "Full",
                      "SiteKey": "mbglbpugq2an6wdnt13h",
                      "Products": [
                        {
                          "ProductName": "Managed Detection and Response",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Full",
                            "HighWatermarkEndpoints": 28,
                            "HighWatermarkGigabytes": 0.0
                          }
                        },
                        {
                          "ProductName": "Detection and Response Mobile",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Full",
                            "HighWatermarkEndpoints": 36,
                            "HighWatermarkGigabytes": 0.0
                          }
                        },
                        {
                          "ProductName": "Detection and Response Chromebook",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Full",
                            "HighWatermarkEndpoints": 45,
                            "HighWatermarkGigabytes": 0.0
                          }
                        },
                        {
                          "ProductName": "Detection and Response Compliance Storage",
                          "License": {
                            "CreatedDate": "2024-07-13T00:00:00Z",
                            "StartDate": "2024-07-13T00:00:00Z",
                            "EndDate": null,
                            "Status": "Full",
                            "HighWatermarkEndpoints": 0,
                            "HighWatermarkGigabytes": 42.3
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/detectionandresponse/gsm/E291-E502-3165-434B-BDF9/sites"
          }
        ]
      }
    },
    "/api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report for \"Detection and Response\" related products linked to a GSM master keycode by a site keycode. The report includes information like the site name and license type, as well as high watermark data.",
        "operationId": "StatusReporting_GetUsageReportSitesBySite_DetectionAndResponse",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "48B9-CFD9-6DCC-4B6B-8FF4"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "4055-F179-C1F6-498D-AFD3"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns site specific usage statistics for \"Detection and Response\" related products linked to a GSM master keycode by a site keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportDetectionAndResponse_Site"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "SiteKey": "ry13bpntcvh7wi1o4mop",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "GSMKey": "jdtt7vfhbuohxm0xavjq"
                  },
                  "General": {
                    "SiteName": "Site 1",
                    "SiteLicenseType": "Full",
                    "GSMConsoleName": "GSM Console 1",
                    "GSMConsoleLicenseType": "Full"
                  },
                  "Products": [
                    {
                      "ProductName": "Endpoint Detection and Response",
                      "License": {
                        "CreatedDate": "2024-07-10T00:00:00Z",
                        "StartDate": "2024-07-10T00:00:00Z",
                        "EndDate": null,
                        "Status": "Full",
                        "HighWatermarkEndpoints": 20,
                        "HighWatermarkGigabytes": 0.0
                      }
                    },
                    {
                      "ProductName": "Detection and Response Mobile",
                      "License": {
                        "CreatedDate": "2024-07-10T00:00:00Z",
                        "StartDate": "2024-07-10T00:00:00Z",
                        "EndDate": null,
                        "Status": "Full",
                        "HighWatermarkEndpoints": 15,
                        "HighWatermarkGigabytes": 0.0
                      }
                    },
                    {
                      "ProductName": "Detection and Response Chromebook",
                      "License": {
                        "CreatedDate": "2024-07-10T00:00:00Z",
                        "StartDate": "2024-07-10T00:00:00Z",
                        "EndDate": null,
                        "Status": "Full",
                        "HighWatermarkEndpoints": 15,
                        "HighWatermarkGigabytes": 0.0
                      }
                    },
                    {
                      "ProductName": "Detection and Response Compliance Storage",
                      "License": {
                        "CreatedDate": "2024-07-10T00:00:00Z",
                        "StartDate": "2024-07-10T00:00:00Z",
                        "EndDate": null,
                        "Status": "Full",
                        "HighWatermarkEndpoints": 0,
                        "HighWatermarkGigabytes": 14.1
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/detectionandresponse/gsm/48B9-CFD9-6DCC-4B6B-8FF4/sites/4055-F179-C1F6-498D-AFD3"
          }
        ]
      }
    },
    "/api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites/{keyCode}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report for \"Detection and Response\" related products linked to a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's agent id, hostname, mac address and its host ip data.",
        "operationId": "StatusReporting_GetUsageReportEndpoints_DetectionAndResponse",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "8CA9-E44B-86AD-4C63-9F4C"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "D1DA-5E91-D461-4106-9F47"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "8XKpHpezzrqBUuKm"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of endpoint usage statistics for \"Detection and Response\" related products linked to a GSM master keycode by a site keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportDetectionAndResponse_Endpoint"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "ContinuationToken": "T6Xljd5F5HY10uvs",
                    "SiteKey": "w49v0mg7ld7qt2hxudyi",
                    "EffectiveDate": "2026-03-22T00:00:00Z",
                    "GSMKey": "tshc4ydljia0gy6p1v6t"
                  },
                  "General": {
                    "SiteName": "Site 1",
                    "SiteLicenseType": "Full",
                    "GSMConsoleName": "GSM Console 1",
                    "GSMConsoleLicenseType": "Full"
                  },
                  "Products": [
                    {
                      "ProductName": "Endpoint Detection and Response",
                      "Endpoints": [
                        {
                          "AgentId": "123456789012345678901240",
                          "HostName": "Host Name 11",
                          "MacAddress": "03:1A:2B:3C:4D:5J",
                          "HostIP": "192.168.0.11",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-08T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901241",
                          "HostName": "Host Name 12",
                          "MacAddress": "04:1A:2B:3C:4D:5K",
                          "HostIP": "192.168.0.12",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-10T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901244",
                          "HostName": "Host Name 13",
                          "MacAddress": "05:1A:2B:3C:4D:5L",
                          "HostIP": "192.168.1.12",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-11T16:17:52Z"
                        }
                      ]
                    },
                    {
                      "ProductName": "Detection and Response Mobile",
                      "Endpoints": [
                        {
                          "AgentId": "123456789012345678901247",
                          "HostName": "Host Name 17",
                          "MacAddress": null,
                          "HostIP": "192.168.0.14",
                          "MobileNumber": "......1234",
                          "Heartbeat": "2024-10-08T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901248",
                          "HostName": "Host Name 18",
                          "MacAddress": null,
                          "HostIP": "192.168.0.15",
                          "MobileNumber": "......2345",
                          "Heartbeat": "2024-10-10T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901249",
                          "HostName": "Host Name 19",
                          "MacAddress": null,
                          "HostIP": "192.168.1.16",
                          "MobileNumber": "......3456",
                          "Heartbeat": "2024-10-11T16:17:52Z"
                        }
                      ]
                    },
                    {
                      "ProductName": "Detection and Response Chromebook",
                      "Endpoints": [
                        {
                          "AgentId": "123456789012345678901250",
                          "HostName": "Host Name 20",
                          "MacAddress": "03:1A:2B:3C:4D:5S",
                          "HostIP": "192.168.0.14",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-08T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901251",
                          "HostName": "Host Name 21",
                          "MacAddress": "04:1A:2B:3C:4D:5T",
                          "HostIP": "192.168.0.15",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-10T16:17:52Z"
                        },
                        {
                          "AgentId": "123456789012345678901252",
                          "HostName": "Host Name 22",
                          "MacAddress": "05:1A:2B:3C:4D:5U",
                          "HostIP": "192.168.1.16",
                          "MobileNumber": null,
                          "Heartbeat": "2024-10-11T16:17:52Z"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/status/reporting/detectionandresponse/gsm/8CA9-E44B-86AD-4C63-9F4C/sites/D1DA-5E91-D461-4106-9F47/endpoints"
          }
        ]
      }
    },
    "/api/status/reporting/crsb/gsm/{gsmKey}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a GSM-level summary report of \"CRSB\" usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report also includes the storage and endpoints details.",
        "operationId": "StatusReporting_GetUsageReportGSM_CRSB",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "BAB0-E196-4374-4EF0-8190"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of CRSB report to generate. Supported values include: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "EndpointsSeenInLast30Days"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns CRSB usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCRSB_GSM"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-03-28T00:00:00Z",
                    "GSMKey": "5kb3xttlbvd6d7un7a64",
                    "ReportType": "All"
                  },
                  "GSM": {
                    "GSMConsoleName": "GSM Test",
                    "LicenseType": "full",
                    "ExpiryDate": "2026-06-27T00:00:00Z",
                    "Usage": [
                      {
                        "Type": "UsageAtDate",
                        "Endpoints": 1,
                        "TotalStorageUsedStandard": 1.1,
                        "TotalStorageUsedCustom": 0.5
                      },
                      {
                        "Type": "Last30Days",
                        "Endpoints": 5,
                        "TotalStorageUsedStandard": 2.2,
                        "TotalStorageUsedCustom": 0.7
                      },
                      {
                        "Type": "Last60Days",
                        "Endpoints": 10,
                        "TotalStorageUsedStandard": 4.5,
                        "TotalStorageUsedCustom": 3.0
                      },
                      {
                        "Type": "Last90Days",
                        "Endpoints": 15,
                        "TotalStorageUsedStandard": 7.4,
                        "TotalStorageUsedCustom": 4.6
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879?reportType=All&effectiveDate=2025-02-15T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/status/reporting/crsb/gsm/{gsmKey}/sites": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of \"CRSB\" usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the storage and endpoints details.",
        "operationId": "StatusReporting_GetUsageReportSites_CRSB",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9EB7-3783-FFC4-4D19-A177"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns site level CRSB usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCRSB_Sites"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": null,
                    "EffectiveDate": "2026-04-05T00:00:00Z",
                    "GSMKey": "qmz37fenchkunzx5kvoy",
                    "ReportType": "All"
                  },
                  "Sites": [
                    {
                      "SiteId": "70d4eb89-42cb-70ec-03f6-4832a79c311a",
                      "SiteKey": "893vb0c2rbnmb7iu9h74",
                      "SiteName": "Site U7PV7GDYQG",
                      "SiteStatus": "active",
                      "LicenseType": "Trial",
                      "ExpiryDate": "2026-11-27T00:00:00Z",
                      "Usage": [
                        {
                          "Type": "UsageAtDate",
                          "Endpoints": 4,
                          "TotalStorageUsedStandard": 9.0,
                          "TotalStorageUsedCustom": 8.0
                        },
                        {
                          "Type": "Last30Days",
                          "Endpoints": 8,
                          "TotalStorageUsedStandard": 26.0,
                          "TotalStorageUsedCustom": 12.0
                        },
                        {
                          "Type": "Last60Days",
                          "Endpoints": 13,
                          "TotalStorageUsedStandard": 84.0,
                          "TotalStorageUsedCustom": 76.0
                        },
                        {
                          "Type": "Last90Days",
                          "Endpoints": 26,
                          "TotalStorageUsedStandard": 165.0,
                          "TotalStorageUsedCustom": 187.0
                        }
                      ]
                    },
                    {
                      "SiteId": "1e5c71f5-0777-5301-23d4-42b9767a2974",
                      "SiteKey": "tyd03buhx5wnlldq1ksf",
                      "SiteName": "Site GLYKGYTFN5",
                      "SiteStatus": "active",
                      "LicenseType": "Trial",
                      "ExpiryDate": "2026-07-02T00:00:00Z",
                      "Usage": [
                        {
                          "Type": "UsageAtDate",
                          "Endpoints": 2,
                          "TotalStorageUsedStandard": 9.0,
                          "TotalStorageUsedCustom": 5.0
                        },
                        {
                          "Type": "Last30Days",
                          "Endpoints": 5,
                          "TotalStorageUsedStandard": 36.0,
                          "TotalStorageUsedCustom": 21.0
                        },
                        {
                          "Type": "Last60Days",
                          "Endpoints": 18,
                          "TotalStorageUsedStandard": 93.0,
                          "TotalStorageUsedCustom": 95.0
                        },
                        {
                          "Type": "Last90Days",
                          "Endpoints": 23,
                          "TotalStorageUsedStandard": 151.0,
                          "TotalStorageUsedCustom": 118.0
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites?reportType=All&effectiveDate=2025-07-11T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a site-level summary report of \"CRSB\" usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the storage and endpoints details.",
        "operationId": "StatusReporting_GetUsageReportSite_CRSB",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "5525-C328-811F-4B43-9EFA"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "F706-EE56-975F-4057-B4A4"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "EndpointsSeenInLast30Days"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns site level CRSB usage statistics for a GSM master keycode by a site keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCRSB_Site"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 1,
                    "SiteKeyFilter": "m6nxjre6c0jf2d8vto5c",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "GSMKey": "lups557ku1znocgi7sc8",
                    "ReportType": "All"
                  },
                  "Sites": [
                    {
                      "SiteId": "49499442-03ed-2fda-4f11-0a96a4577c09",
                      "SiteKey": "m6nxjre6c0jf2d8vto5c",
                      "SiteName": "Site JLQWTUE1R4",
                      "SiteStatus": "active",
                      "LicenseType": "Full",
                      "ExpiryDate": "2026-06-06T00:00:00Z",
                      "Usage": [
                        {
                          "Type": "UsageAtDate",
                          "Endpoints": 3,
                          "TotalStorageUsedStandard": 6.0,
                          "TotalStorageUsedCustom": 7.0
                        },
                        {
                          "Type": "Last30Days",
                          "Endpoints": 9,
                          "TotalStorageUsedStandard": 23.0,
                          "TotalStorageUsedCustom": 22.0
                        },
                        {
                          "Type": "Last60Days",
                          "Endpoints": 10,
                          "TotalStorageUsedStandard": 93.0,
                          "TotalStorageUsedCustom": 87.0
                        },
                        {
                          "Type": "Last90Days",
                          "Endpoints": 27,
                          "TotalStorageUsedStandard": 192.0,
                          "TotalStorageUsedCustom": 171.0
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48?reportType=All&effectiveDate=2025-02-24T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/status/reporting/crsb/gsm/{gsmKey}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report of \"CRSB\" usage for a GSM master keycode. For each endpoint the report includes information like the endpoint's hostname, device type and its activation status.",
        "description": "**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.",
        "operationId": "StatusReporting_GetUsageReportCRSBEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E1A6-34DA-697B-4830-8F56"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "EndpointsSeenInLast30Days"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "E07-3SgaHhzXKspA"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of CRSB endpoint usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportGSMEndpoints_CRSB"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": null,
                    "ContinuationToken": "Kq1493wf43NMMGe3",
                    "EffectiveDate": "2026-04-09T00:00:00Z",
                    "GSMKey": "071kganijpzm572po40t",
                    "ReportType": "All"
                  },
                  "Endpoints": [
                    {
                      "BackupDeviceId": "829b1dfe-511e-4076-8377-e3adbab0bf1f",
                      "SiteId": "310b3d78-6b9a-00b0-2842-5f9a3af1546b",
                      "SiteKey": "jbiq9cq22be77ca9ppoa",
                      "HostName": "NODE7QS269O311",
                      "DeviceType": "MAC",
                      "ActivationStatus": "Active",
                      "ActivationStatusTime": "2026-03-26T17:33:14.365686Z",
                      "FirstSeen": "2026-02-12T22:01:14.365686Z",
                      "LastSeen": "2026-02-13T22:01:14.365686Z",
                      "LastBackup": "2026-03-20T01:53:14.365686Z",
                      "SubscriptionType": "Active",
                      "Usage": [
                        {
                          "Type": "Last30Days",
                          "TotalStorageUsedStandard": 26.0,
                          "TotalStorageUsedCustom": 41.0
                        }
                      ]
                    },
                    {
                      "BackupDeviceId": "f50679a9-9c86-40fe-a169-1fe6d8b2c853",
                      "SiteId": "3b69875a-2a55-0c0c-1925-2e2e7ffb5b56",
                      "SiteKey": "433vopu60e5vmyujvhf7",
                      "HostName": "NODE5VXEUZX7NR",
                      "DeviceType": "MAC",
                      "ActivationStatus": "Active",
                      "ActivationStatusTime": "2026-03-28T14:39:14.365686Z",
                      "FirstSeen": "2026-02-24T18:45:14.365686Z",
                      "LastSeen": "2026-02-25T18:45:14.365686Z",
                      "LastBackup": "2026-04-04T22:51:14.365686Z",
                      "SubscriptionType": "Active",
                      "Usage": [
                        {
                          "Type": "Last30Days",
                          "TotalStorageUsedStandard": 30.0,
                          "TotalStorageUsedCustom": 47.0
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z&continuation=n2Lek49F3pOdYt6T"
          }
        ]
      }
    },
    "/api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}/endpoints": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns an endpoint-level summary report of \"CRSB\" usage for a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's hostname, device type and its activation status.",
        "description": "**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.",
        "operationId": "StatusReporting_GetUsageReportCRSBEndpoints2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "A master keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "0190-DF57-8EED-44AC-AD3B"
          },
          {
            "name": "keyCode",
            "in": "path",
            "required": true,
            "description": "The keycode of the site for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "1F99-4A1C-0690-49EE-9F15"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          },
          {
            "name": "continuation",
            "in": "query",
            "description": "The continuation token for batched requests.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "h-1DTnlZMx38TFCN"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of CRSB endpoint usage statistics for a GSM master keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportSiteEndpoints_CRSB"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "Count": 2,
                    "SiteKeyFilter": "quhx6zp1wk9qx55w6xu0",
                    "ContinuationToken": "8sI9SU9ErPqOd8xf",
                    "EffectiveDate": "2026-04-03T00:00:00Z",
                    "GSMKey": "gnjm9wprahfy3ny7g0dj",
                    "ReportType": "All"
                  },
                  "Endpoints": [
                    {
                      "BackupDeviceId": "b8873264-5d03-4188-990a-735b88bfc9fe",
                      "SiteId": "67d83b88-004c-61b3-6a88-502363f605e6",
                      "SiteKey": "quhx6zp1wk9qx55w6xu0",
                      "HostName": "NODEA4SCSKKNAG",
                      "DeviceType": "Windows",
                      "ActivationStatus": "Active",
                      "ActivationStatusTime": "2026-03-23T03:11:14.3813122Z",
                      "FirstSeen": "2026-02-07T23:26:14.3813122Z",
                      "LastSeen": "2026-02-08T23:26:14.3813122Z",
                      "LastBackup": "2026-03-28T08:45:14.3813122Z",
                      "SubscriptionType": "Active",
                      "Usage": [
                        {
                          "Type": "Last30Days",
                          "TotalStorageUsedStandard": 45.0,
                          "TotalStorageUsedCustom": 42.0
                        }
                      ]
                    },
                    {
                      "BackupDeviceId": "dcde698d-0dd4-4bfa-acfb-91cde8b20c51",
                      "SiteId": "67d83b88-004c-61b3-6a88-502363f605e6",
                      "SiteKey": "quhx6zp1wk9qx55w6xu0",
                      "HostName": "NODEA0MDPE9B08",
                      "DeviceType": "MAC",
                      "ActivationStatus": "Active",
                      "ActivationStatusTime": "2026-03-21T01:55:14.3813122Z",
                      "FirstSeen": "2026-02-20T05:42:14.3813122Z",
                      "LastSeen": "2026-02-21T05:42:14.3813122Z",
                      "LastBackup": "2026-03-19T06:56:14.3813122Z",
                      "SubscriptionType": "Active",
                      "Usage": [
                        {
                          "Type": "Last30Days",
                          "TotalStorageUsedStandard": 43.0,
                          "TotalStorageUsedCustom": 34.0
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z&continuation=d2Lek49F3pOdYt6T"
          }
        ]
      }
    },
    "/api/status/reporting/cloudally/{partnerkeycode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a partner-level summary usage report for a partner keycode. Besides general information like the partner's name the report includes high watermark data and breakdown details.",
        "operationId": "StatusReporting_GetUsageReportPartner_Cloudally",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "3B4D-A95F-1E7A-47CB-BB96"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns partner-level usage statistics for a Cloudally partner keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCloudally_Partner"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-03-30T00:00:00Z",
                    "PartnerKey": "upj6oldrzz7ntt9wev2i",
                    "ReportType": "Last30Days"
                  },
                  "General": {
                    "PartnerName": null,
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "full",
                    "PartnerExpiryDate": "2026-06-13T00:00:00Z"
                  },
                  "Products": [
                    {
                      "ProductName": "M365 Files & Collab 1x Daily 10 GB Backup",
                      "HighWatermarkEndpoints": 1500,
                      "HighWatermarkGigabytes": 150.5,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Dropbox 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 1200,
                      "HighWatermarkGigabytes": 120.8,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Google Workspace 1x Daily Backup",
                      "HighWatermarkEndpoints": 800,
                      "HighWatermarkGigabytes": 95.3,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Salesforce Cloud 1x Daily Backup",
                      "HighWatermarkEndpoints": 500,
                      "HighWatermarkGigabytes": 75.2,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Google Shared Drives 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 600,
                      "HighWatermarkGigabytes": 85.7,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Box 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 400,
                      "HighWatermarkGigabytes": 65.1,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "M365 1x Daily Backup",
                      "HighWatermarkEndpoints": 2000,
                      "HighWatermarkGigabytes": 200.9,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "MS Exchange 1x Daily Backup",
                      "HighWatermarkEndpoints": 2000,
                      "HighWatermarkGigabytes": 200.9,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "M365 Files & Collab 3x Daily 10 GB Backup",
                      "HighWatermarkEndpoints": 1600,
                      "HighWatermarkGigabytes": 160.6,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Dropbox 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 1300,
                      "HighWatermarkGigabytes": 130.2,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Google Workspace 3x Daily Backup",
                      "HighWatermarkEndpoints": 900,
                      "HighWatermarkGigabytes": 105.8,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Salesforce Cloud 3x Daily Backup",
                      "HighWatermarkEndpoints": 550,
                      "HighWatermarkGigabytes": 85.4,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Google Shared Drives 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 650,
                      "HighWatermarkGigabytes": 95.9,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "Box 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 450,
                      "HighWatermarkGigabytes": 75.3,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "M365 3x Daily Backup",
                      "HighWatermarkEndpoints": 2200,
                      "HighWatermarkGigabytes": 220.7,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    },
                    {
                      "ProductName": "MS Exchange 3x Daily Backup",
                      "HighWatermarkEndpoints": 2000,
                      "HighWatermarkGigabytes": 200.9,
                      "HighWatermarkDate": "2026-03-26T00:00:00Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/status/reporting/cloudally/{partnerkeycode}/customers": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a customer-level summary usage report for a partner keycode. For each customer the report includes information like the customer name as well as high watermark data and breakdown details.",
        "operationId": "StatusReporting_GetUsageReportCustomers_Cloudally",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "75B4-C888-BCF4-4E56-A3A1"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ActiveEndpoints"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns customer-level usage statistics for a Cloudally partner keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCloudally_Customers"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "EffectiveDate": "2026-03-25T00:00:00Z",
                    "PartnerKey": "tmholqnjdzkd071oyw8c",
                    "ReportType": "Last30Days"
                  },
                  "General": {
                    "PartnerName": null,
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "full",
                    "PartnerExpiryDate": "2026-05-29T00:00:00Z"
                  },
                  "Customers": [
                    {
                      "CustomerKey": "9db8g5ly288mf6w7krv2",
                      "CustomerName": "Customer 1",
                      "CustomerId": "CUST001",
                      "CustomerLicenseType": "full",
                      "CustomerExpiryDate": "2026-05-29T00:00:00Z",
                      "Products": [
                        {
                          "ProductName": "M365 Files & Collab 1x Daily 10 GB Backup",
                          "HighWatermarkEndpoints": 1500,
                          "HighWatermarkGigabytes": 150.5,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Dropbox 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 1200,
                          "HighWatermarkGigabytes": 120.8,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Workspace 1x Daily Backup",
                          "HighWatermarkEndpoints": 800,
                          "HighWatermarkGigabytes": 95.3,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Salesforce Cloud 1x Daily Backup",
                          "HighWatermarkEndpoints": 500,
                          "HighWatermarkGigabytes": 75.2,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Shared Drives 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 600,
                          "HighWatermarkGigabytes": 85.7,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Box 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 400,
                          "HighWatermarkGigabytes": 65.1,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 1x Daily Backup",
                          "HighWatermarkEndpoints": 1800,
                          "HighWatermarkGigabytes": 180.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "MS Exchange 1x Daily Backup",
                          "HighWatermarkEndpoints": 1800,
                          "HighWatermarkGigabytes": 180.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 Files & Collab 3x Daily 10 GB Backup",
                          "HighWatermarkEndpoints": 1600,
                          "HighWatermarkGigabytes": 160.6,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Dropbox 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 1300,
                          "HighWatermarkGigabytes": 130.2,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Workspace 3x Daily Backup",
                          "HighWatermarkEndpoints": 900,
                          "HighWatermarkGigabytes": 105.8,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Salesforce Cloud 3x Daily Backup",
                          "HighWatermarkEndpoints": 550,
                          "HighWatermarkGigabytes": 85.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Shared Drives 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 650,
                          "HighWatermarkGigabytes": 95.9,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Box 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 450,
                          "HighWatermarkGigabytes": 75.3,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 3x Daily Backup",
                          "HighWatermarkEndpoints": 1900,
                          "HighWatermarkGigabytes": 190.5,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "MS Exchange 3x Daily Backup",
                          "HighWatermarkEndpoints": 1910,
                          "HighWatermarkGigabytes": 180.5,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        }
                      ]
                    },
                    {
                      "CustomerKey": "r4c5h1akhtroygapkjip",
                      "CustomerName": "Customer 2",
                      "CustomerId": "CUST002",
                      "CustomerLicenseType": "full",
                      "CustomerExpiryDate": "2026-05-29T00:00:00Z",
                      "Products": [
                        {
                          "ProductName": "M365 Files & Collab 1x Daily 10 GB Backup",
                          "HighWatermarkEndpoints": 1200,
                          "HighWatermarkGigabytes": 110.0,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Dropbox 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 1000,
                          "HighWatermarkGigabytes": 110.8,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Workspace 1x Daily Backup",
                          "HighWatermarkEndpoints": 850,
                          "HighWatermarkGigabytes": 95.3,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Salesforce Cloud 1x Daily Backup",
                          "HighWatermarkEndpoints": 570,
                          "HighWatermarkGigabytes": 75.2,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Shared Drives 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 620,
                          "HighWatermarkGigabytes": 85.7,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Box 10 GB 1x Daily Backup",
                          "HighWatermarkEndpoints": 410,
                          "HighWatermarkGigabytes": 65.1,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 1x Daily Backup",
                          "HighWatermarkEndpoints": 1500,
                          "HighWatermarkGigabytes": 180.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "MS Exchange 1x Daily Backup",
                          "HighWatermarkEndpoints": 1900,
                          "HighWatermarkGigabytes": 180.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 Files & Collab 3x Daily 10 GB Backup",
                          "HighWatermarkEndpoints": 1200,
                          "HighWatermarkGigabytes": 160.6,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Dropbox 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 1100,
                          "HighWatermarkGigabytes": 130.2,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Workspace 3x Daily Backup",
                          "HighWatermarkEndpoints": 700,
                          "HighWatermarkGigabytes": 105.8,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Salesforce Cloud 3x Daily Backup",
                          "HighWatermarkEndpoints": 450,
                          "HighWatermarkGigabytes": 85.4,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Google Shared Drives 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 350,
                          "HighWatermarkGigabytes": 95.9,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "Box 10 GB 3x Daily Backup",
                          "HighWatermarkEndpoints": 350,
                          "HighWatermarkGigabytes": 75.3,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "M365 3x Daily Backup",
                          "HighWatermarkEndpoints": 1600,
                          "HighWatermarkGigabytes": 190.5,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        },
                        {
                          "ProductName": "MS Exchange 3x Daily Backup",
                          "HighWatermarkEndpoints": 1410,
                          "HighWatermarkGigabytes": 180.5,
                          "HighWatermarkDate": "2026-03-25T00:00:00Z"
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879/customers?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/status/reporting/cloudally/{partnerkeycode}/customers/{customerkeycode}": {
      "get": {
        "tags": [
          "SkyStatus: Usage Reporting"
        ],
        "summary": "Returns a customer-level summary usage report for a partner keycode by a customer keycode. The report includes information like the customer name as well as high watermark data and breakdown details.",
        "operationId": "StatusReporting_GetUsageReportCustomer_Cloudally",
        "parameters": [
          {
            "name": "partnerkeycode",
            "in": "path",
            "required": true,
            "description": "A partner keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "201C-9120-C237-4942-8B43"
          },
          {
            "name": "customerkeycode",
            "in": "path",
            "required": true,
            "description": "A customer keycode for which usage information is to be retrieved.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "8D22-17E9-36DE-4029-A11D"
          },
          {
            "name": "reportType",
            "in": "query",
            "description": "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "ActiveEndpointsWithoutHidden"
          },
          {
            "name": "effectiveDate",
            "in": "query",
            "description": "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-09T00:00:00Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns customer-level usage statistics for Cloudally partner keycode and customer key code.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UsageReportCloudally_Customer"
                    }
                  ]
                },
                "example": {
                  "ReportInfo": {
                    "CustomerKey": "jrua0i8me4dppwrsj2hf",
                    "EffectiveDate": "2026-04-01T00:00:00Z",
                    "PartnerKey": "p4yl643d9tixnkcv64nk",
                    "ReportType": "All"
                  },
                  "General": {
                    "CustomerName": "Customer 1",
                    "CustomerId": "CUST001",
                    "CustomerLicenseType": "full",
                    "CustomerExpiryDate": "2026-08-02T00:00:00Z",
                    "PartnerName": null,
                    "PartnerId": "PART001",
                    "PartnerLicenseType": "full",
                    "PartnerExpiryDate": "2026-08-02T00:00:00Z"
                  },
                  "Products": [
                    {
                      "ProductName": "M365 Files & Collab 1x Daily 10 GB Backup",
                      "HighWatermarkEndpoints": 1500,
                      "HighWatermarkGigabytes": 150.5,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 60,
                          "BackedUpStorage": 80.0,
                          "BillableEntities": 90,
                          "BillableStorage": 30.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 16,
                          "BackedUpStorage": 20.0,
                          "BillableEntities": 56,
                          "BillableStorage": 70.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 150,
                          "BackedUpStorage": 40.0,
                          "BillableEntities": 30,
                          "BillableStorage": 70.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 10,
                          "BackedUpStorage": 20.0,
                          "BillableEntities": 70,
                          "BillableStorage": 90.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 56,
                          "BackedUpStorage": 60.0,
                          "BillableEntities": 78,
                          "BillableStorage": 120.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 76,
                          "BackedUpStorage": 79.0,
                          "BillableEntities": 23,
                          "BillableStorage": 50.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Dropbox 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 1200,
                      "HighWatermarkGigabytes": 120.8,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 80,
                          "BackedUpStorage": 95.0,
                          "BillableEntities": 110,
                          "BillableStorage": 120.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 70,
                          "BackedUpStorage": 85.0,
                          "BillableEntities": 100,
                          "BillableStorage": 110.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 10,
                          "BackedUpStorage": 10.0,
                          "BillableEntities": 10,
                          "BillableStorage": 10.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 0,
                          "BackedUpStorage": 0.0,
                          "BillableEntities": 0,
                          "BillableStorage": 0.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 75,
                          "BackedUpStorage": 90.0,
                          "BillableEntities": 105,
                          "BillableStorage": 115.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Google Workspace 1x Daily Backup",
                      "HighWatermarkEndpoints": 800,
                      "HighWatermarkGigabytes": 95.3,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 65,
                          "BackedUpStorage": 75.0,
                          "BillableEntities": 85,
                          "BillableStorage": 95.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 55,
                          "BackedUpStorage": 65.0,
                          "BillableEntities": 75,
                          "BillableStorage": 85.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 60,
                          "BackedUpStorage": 70.0,
                          "BillableEntities": 80,
                          "BillableStorage": 90.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Salesforce Cloud 1x Daily Backup",
                      "HighWatermarkEndpoints": 500,
                      "HighWatermarkGigabytes": 75.2,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 45,
                          "BackedUpStorage": 55.0,
                          "BillableEntities": 65,
                          "BillableStorage": 75.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 40,
                          "BackedUpStorage": 50.0,
                          "BillableEntities": 60,
                          "BillableStorage": 70.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 3,
                          "BackedUpStorage": 3.0,
                          "BillableEntities": 3,
                          "BillableStorage": 3.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 42,
                          "BackedUpStorage": 52.0,
                          "BillableEntities": 62,
                          "BillableStorage": 72.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 3,
                          "BackedUpStorage": 3.0,
                          "BillableEntities": 3,
                          "BillableStorage": 3.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Google Shared Drives 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 600,
                      "HighWatermarkGigabytes": 85.7,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 50,
                          "BackedUpStorage": 70.0,
                          "BillableEntities": 70,
                          "BillableStorage": 85.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 45,
                          "BackedUpStorage": 65.0,
                          "BillableEntities": 65,
                          "BillableStorage": 80.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 4,
                          "BackedUpStorage": 4.0,
                          "BillableEntities": 4,
                          "BillableStorage": 4.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 48,
                          "BackedUpStorage": 68.0,
                          "BillableEntities": 68,
                          "BillableStorage": 83.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Box 10 GB 1x Daily Backup",
                      "HighWatermarkEndpoints": 400,
                      "HighWatermarkGigabytes": 65.1,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 35,
                          "BackedUpStorage": 55.0,
                          "BillableEntities": 50,
                          "BillableStorage": 65.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 32,
                          "BackedUpStorage": 52.0,
                          "BillableEntities": 47,
                          "BillableStorage": 62.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 33,
                          "BackedUpStorage": 53.0,
                          "BillableEntities": 48,
                          "BillableStorage": 63.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        }
                      ]
                    },
                    {
                      "ProductName": "M365 1x Daily Backup",
                      "HighWatermarkEndpoints": 2000,
                      "HighWatermarkGigabytes": 200.9,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 180,
                          "BackedUpStorage": 190.0,
                          "BillableEntities": 195,
                          "BillableStorage": 200.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 170,
                          "BackedUpStorage": 180.0,
                          "BillableEntities": 185,
                          "BillableStorage": 190.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 175,
                          "BackedUpStorage": 185.0,
                          "BillableEntities": 190,
                          "BillableStorage": 195.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "MS Exchange 1x Daily Backup",
                      "HighWatermarkEndpoints": 1000,
                      "HighWatermarkGigabytes": 100.9,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 150,
                          "BackedUpStorage": 190.0,
                          "BillableEntities": 195,
                          "BillableStorage": 200.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 160,
                          "BackedUpStorage": 180.0,
                          "BillableEntities": 185,
                          "BillableStorage": 190.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 175,
                          "BackedUpStorage": 185.0,
                          "BillableEntities": 190,
                          "BillableStorage": 195.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "M365 Files & Collab 3x Daily 10 GB Backup",
                      "HighWatermarkEndpoints": 1600,
                      "HighWatermarkGigabytes": 160.6,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 140,
                          "BackedUpStorage": 150.0,
                          "BillableEntities": 155,
                          "BillableStorage": 160.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 130,
                          "BackedUpStorage": 140.0,
                          "BillableEntities": 145,
                          "BillableStorage": 150.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 135,
                          "BackedUpStorage": 145.0,
                          "BillableEntities": 150,
                          "BillableStorage": 155.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Dropbox 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 1300,
                      "HighWatermarkGigabytes": 130.2,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 115,
                          "BackedUpStorage": 125.0,
                          "BillableEntities": 130,
                          "BillableStorage": 130.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 110,
                          "BackedUpStorage": 120.0,
                          "BillableEntities": 125,
                          "BillableStorage": 125.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 4,
                          "BackedUpStorage": 4.0,
                          "BillableEntities": 4,
                          "BillableStorage": 4.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 112,
                          "BackedUpStorage": 122.0,
                          "BillableEntities": 127,
                          "BillableStorage": 127.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 3,
                          "BackedUpStorage": 3.0,
                          "BillableEntities": 3,
                          "BillableStorage": 3.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Google Workspace 3x Daily Backup",
                      "HighWatermarkEndpoints": 900,
                      "HighWatermarkGigabytes": 105.8,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 85,
                          "BackedUpStorage": 95.0,
                          "BillableEntities": 100,
                          "BillableStorage": 105.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 80,
                          "BackedUpStorage": 90.0,
                          "BillableEntities": 95,
                          "BillableStorage": 100.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 4,
                          "BackedUpStorage": 4.0,
                          "BillableEntities": 4,
                          "BillableStorage": 4.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 82,
                          "BackedUpStorage": 92.0,
                          "BillableEntities": 97,
                          "BillableStorage": 102.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 3,
                          "BackedUpStorage": 3.0,
                          "BillableEntities": 3,
                          "BillableStorage": 3.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Salesforce Cloud 3x Daily Backup",
                      "HighWatermarkEndpoints": 550,
                      "HighWatermarkGigabytes": 85.4,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 50,
                          "BackedUpStorage": 75.0,
                          "BillableEntities": 70,
                          "BillableStorage": 85.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 47,
                          "BackedUpStorage": 72.0,
                          "BillableEntities": 67,
                          "BillableStorage": 82.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 48,
                          "BackedUpStorage": 73.0,
                          "BillableEntities": 68,
                          "BillableStorage": 83.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Google Shared Drives 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 650,
                      "HighWatermarkGigabytes": 95.9,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 58,
                          "BackedUpStorage": 85.0,
                          "BillableEntities": 78,
                          "BillableStorage": 95.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 55,
                          "BackedUpStorage": 82.0,
                          "BillableEntities": 75,
                          "BillableStorage": 92.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 56,
                          "BackedUpStorage": 83.0,
                          "BillableEntities": 76,
                          "BillableStorage": 93.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        }
                      ]
                    },
                    {
                      "ProductName": "Box 10 GB 3x Daily Backup",
                      "HighWatermarkEndpoints": 450,
                      "HighWatermarkGigabytes": 75.3,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 40,
                          "BackedUpStorage": 65.0,
                          "BillableEntities": 55,
                          "BillableStorage": 75.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 38,
                          "BackedUpStorage": 63.0,
                          "BillableEntities": 53,
                          "BillableStorage": 73.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 39,
                          "BackedUpStorage": 64.0,
                          "BillableEntities": 54,
                          "BillableStorage": 74.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 1,
                          "BackedUpStorage": 1.0,
                          "BillableEntities": 1,
                          "BillableStorage": 1.0
                        }
                      ]
                    },
                    {
                      "ProductName": "M365 3x Daily Backup",
                      "HighWatermarkEndpoints": 2200,
                      "HighWatermarkGigabytes": 220.7,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 200,
                          "BackedUpStorage": 210.0,
                          "BillableEntities": 215,
                          "BillableStorage": 220.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 190,
                          "BackedUpStorage": 200.0,
                          "BillableEntities": 205,
                          "BillableStorage": 210.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 195,
                          "BackedUpStorage": 205.0,
                          "BillableEntities": 210,
                          "BillableStorage": 215.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    },
                    {
                      "ProductName": "MS Exchange 3x Daily Backup",
                      "HighWatermarkEndpoints": 2000,
                      "HighWatermarkGigabytes": 210.7,
                      "HighWatermarkDate": "2026-03-22T00:00:00Z",
                      "Breakdown": [
                        {
                          "BreakdownType": "Total",
                          "BackedUpEntities": 200,
                          "BackedUpStorage": 210.0,
                          "BillableEntities": 215,
                          "BillableStorage": 220.0
                        },
                        {
                          "BreakdownType": "Active",
                          "BackedUpEntities": 190,
                          "BackedUpStorage": 200.0,
                          "BillableEntities": 205,
                          "BillableStorage": 210.0
                        },
                        {
                          "BreakdownType": "Paused",
                          "BackedUpEntities": 8,
                          "BackedUpStorage": 8.0,
                          "BillableEntities": 8,
                          "BillableStorage": 8.0
                        },
                        {
                          "BreakdownType": "Archived",
                          "BackedUpEntities": 2,
                          "BackedUpStorage": 2.0,
                          "BillableEntities": 2,
                          "BillableStorage": 2.0
                        },
                        {
                          "BreakdownType": "Licensed",
                          "BackedUpEntities": 195,
                          "BackedUpStorage": 205.0,
                          "BillableEntities": 210,
                          "BillableStorage": 215.0
                        },
                        {
                          "BreakdownType": "Unlicensed",
                          "BackedUpEntities": 5,
                          "BackedUpStorage": 5.0,
                          "BillableEntities": 5,
                          "BillableStorage": 5.0
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "SkyStatus.Reporting"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879/customers/custkey001/?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z"
          }
        ]
      }
    },
    "/api/console/access/gsm/{gsmKey}/addadminrequest": {
      "post": {
        "tags": [
          "Console: Console Access"
        ],
        "summary": "Initiates the process for requesting admin access to a GSM console. \n\n**IMPORTANT**: Before initiating an access request it is the responsibility of the requestor to inform the owner of the target GSM console that a designated person (whose e-mail address has to be specified in the request) will receive a confirmation message from Webroot. The e-mail message will include further information about the steps how to approve the request which need to be carried out in order to advance the access request process. The status of an initiated access request can be queried by using the *addadminstatus* API method.",
        "description": "**NOTE:** After successfully obtaining API-only access to a GSM console, the established super admin does not automatically have access to the sites on that console. In order to gain access to sites, multiple steps are necessary: \n- Determine the *UserId* of the API-only super admin by querying the list of GSM admins via the [get GSM admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-admins) request\n- Fetch the list of sites on the GSM console using the [get sites](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-sites) request to obtain the site's *SiteId*s\n- Add the API-only super admin by calling the [set site admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PUT-api-console-gsm-gsmKey-sites-siteId-admins) action for each desired site",
        "operationId": "ConsoleAccess_RequestGSMSuperAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode where a specified user should be added as an API-only super admin.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "09C0-F6E0-DB24-4A69-95B7"
          }
        ],
        "requestBody": {
          "x-name": "requestInformation",
          "description": "Additional information for initiating the access request process.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/GSMSuperAdminRequestModel"
                  }
                ]
              },
              "example": {
                "UserEmail": "apionly@webroot.com",
                "ConfirmEmail": "admin@othercompany.com"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.Access"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/access/gsm/09C0-F6E0-DB24-4A69-95B7/addadminrequest"
          }
        ]
      }
    },
    "/api/console/access/gsm/{gsmKey}/addadminstatus": {
      "get": {
        "tags": [
          "Console: Console Access"
        ],
        "summary": "Retrieves the status of a GSM add admin access request.",
        "description": "The specified e-mail addresses in the query string of the request need to be URL encoded in order to avoid related request errors (e.g. in case an e-mail address contains characters that are not allowed in a query string).",
        "operationId": "ConsoleAccess_RequestGSMSuperAdminStatus",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode where a specified user should be added as an API-only super admin.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "92BD-8040-07D6-45B8-8F55"
          },
          {
            "name": "userEmail",
            "in": "query",
            "required": true,
            "description": "The e-mail address of the user which should be added as an API-only super admin to a GSM console.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "apiuser@mydomain.com"
          },
          {
            "name": "confirmEmail",
            "in": "query",
            "required": true,
            "description": "The e-mail address where the confirmation message for approving the access request was sent to.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "admin@mydomain.com"
          }
        ],
        "responses": {
          "200": {
            "description": "The status of a GSM add admin access request.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GSMSuperAdminStatusResponseModel"
                    }
                  ]
                },
                "example": {
                  "Status": "PendingApproval",
                  "InitiatedDate": "2026-04-11T07:23:14.7407275Z",
                  "StatusChangeDate": "2026-04-14T00:23:14.7407275Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.Access"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/access/gsm/92BD-8040-07D6-45B8-8F55/addadminstatus"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a given GSM console.",
        "operationId": "ConsoleGSM_GetGSMDetails",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "3D24-6D02-33A4-4291-A50D"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMDetailsResponseModel"
                    }
                  ]
                },
                "example": {
                  "GSMConsoleName": "GSM Test Console",
                  "CreatedDate": "2025-11-14T07:23:14.8813665Z",
                  "EndDate": "2027-04-14T07:23:14.8813665Z",
                  "RemainingDays": 151,
                  "LicenseType": "Full",
                  "TotalSeatsAllowed": 800,
                  "TotalSites": 500,
                  "DeactivatedSites": 14,
                  "CompanyEmail": "test1@webroot.com",
                  "CompanyPhone": "07725755",
                  "CompanyAddress": "",
                  "Modules": [
                    {
                      "Type": "DNSP",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "WSAT",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "OTEDR",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "SAEP",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "PLRCS",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "PLRCB",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "PLRM",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-04-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    },
                    {
                      "Type": "CRSB",
                      "Seats": 800,
                      "LicenseType": "Full",
                      "EndDate": "2027-02-14T07:23:14.8813665Z",
                      "ProvisioningStatus": {
                        "Status": "Success"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/3D24-6D02-33A4-4291-A50D"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/lookupsite/{siteKeycode}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Looks up information about a specific GSM site which is associated with a given site keycode. You can use this method to query site details using a site keycode and to retrieve the site's identifier for follow-up calls.",
        "operationId": "ConsoleGSM_LookupGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "C488-AA26-2FF2-4186-8189"
          },
          {
            "name": "siteKeycode",
            "in": "path",
            "required": true,
            "description": "The site keycode to look up.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "3141-836E-C2BB-4742-867B"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the desired GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSitesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalSeatsAllowed": 250,
                  "ParentDescription": "Full",
                  "SumTotalDevices": 57,
                  "SumTotalDevicesAllowed": 100,
                  "SumTotalDevicesNotTrial": 100,
                  "SumTotalMobileDevicesAllowed": 50,
                  "TotalCount": 1,
                  "Sites": [
                    {
                      "SiteId": "94e2f8d8-13a9-4f28-9ec8-b0a9d101cadf",
                      "SiteName": "Site 1",
                      "SiteType": "R",
                      "TotalEndpoints": 24,
                      "PCsInfected24": 0,
                      "AccountKeyCode": "D58F-AD26-868F-49A2-AACF",
                      "DevicesAllowed": 100,
                      "MobileSeats": 5,
                      "Deactivated": false,
                      "Suspended": false,
                      "EndDate": "2026-10-14T07:23:14.9751265Z",
                      "Device": true,
                      "Infect": false,
                      "BillingCycle": "Anually",
                      "BillingDate": "Jan 01",
                      "CompanyComments": "",
                      "DeactivatedBy": null,
                      "SuspendedBy": null,
                      "CreatedBy": "test@webroot.com",
                      "GlobalPolicies": true,
                      "GlobalOverrides": true,
                      "GlobalAlerts": true,
                      "AllKeysExpired": false,
                      "Description": "Full",
                      "PolicyId": "e8f325aa-86c2-414b-b932-24aae800883a",
                      "PolicyName": "Test policy",
                      "PolicyDescription": "Sample policy for testing",
                      "Emails": "test@webroot.com",
                      "AccessLevel": 128,
                      "Modules": [
                        {
                          "Type": "DNSP",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "WSAT",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "OTEDR",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "SAEP",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCS",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRM",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "CRSB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:14.9751265Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/C488-AA26-2FF2-4186-8189/lookupsite/3141-836E-C2BB-4742-867B"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/statistics/endpointprotection": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves endpoint and site statistics about a GSM console.",
        "operationId": "ConsoleGSM_GetStatisticsEndpointProtection",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7091-F98E-8F3C-4940-84FB"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMStatisticsEndpointProtectionResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalDevicesInstalled": 495,
                  "TotalDevicesInfected": 0,
                  "RequiringAttention": 0,
                  "WithActiveThreats": 0,
                  "ParentSeats": 990,
                  "TotalDevicesAllowed": 0,
                  "DeactivatedSites": 0,
                  "SuspendedSites": 0,
                  "TrialSites": 0,
                  "FullSites": 1,
                  "ExpiredSites": 0,
                  "ExpiringSites": 0,
                  "ActivatedSites": 1,
                  "TotalSites": 1
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/7091-F98E-8F3C-4940-84FB/statistics/endpointprotection"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/statistics/endpointprotection": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves endpoint and site statistics about a GSM site.",
        "operationId": "ConsoleGSM_GetStatisticsEndpointProtection2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D752-1795-868F-4800-841E"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM site to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "0ea95d62-33f1-42fb-b2f6-f0b10dad26ec"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSiteStatisticsEndpointProtectionResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalDevicesInstalled": 335,
                  "TotalDevicesInfected": 0,
                  "RequiringAttention": 0,
                  "WithActiveThreats": 0,
                  "ParentSeats": 670,
                  "TotalDevicesAllowed": 0
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/D752-1795-868F-4800-841E/sites/0ea95d62-33f1-42fb-b2f6-f0b10dad26ec/statistics/endpointprotection"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/statistics/dnsp": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves DNSP statistics about a GSM console.",
        "operationId": "ConsoleGSM_GetStatisticsDNSP",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "B6B1-7244-6CDC-4836-99AB"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMStatisticsDNSPResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalDevicesActive": 130,
                  "TotalDevicesInactive": 70
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/B6B1-7244-6CDC-4836-99AB/statistics/dnsp"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/statistics/dnsp": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves DNSP statistics about a GSM site.",
        "operationId": "ConsoleGSM_GetStatisticsDNSP2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "14EE-DF0F-29F1-4FDA-866C"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM site to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "7a1705aa-e900-4dd0-b14e-0a38db214662"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSiteStatisticsDNSPResponseModel"
                    }
                  ]
                },
                "example": {
                  "SiteId": "6fe10cad-3f1f-470a-8584-4557d745cea0",
                  "SiteName": "DNS Site",
                  "DevicesActive": 980,
                  "DevicesInactive": 50
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/14EE-DF0F-29F1-4FDA-866C/sites/7a1705aa-e900-4dd0-b14e-0a38db214662/statistics/dnsp"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/statistics/wsat": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves WSAT statistics about a GSM console.",
        "operationId": "ConsoleGSM_GetStatisticsWSAT",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "AEF6-18DF-5152-4A14-98A9"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMStatisticsWSATResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalPhishingCampaigns": 28,
                  "TotalTrainingCampaigns": 6
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/AEF6-18DF-5152-4A14-98A9/statistics/wsat"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/statistics/wsat": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves WSAT statistics about a GSM site.",
        "operationId": "ConsoleGSM_GetStatisticsWSAT2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "8E9E-94CA-130D-4C5F-ABDF"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM site to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "affca245-38ff-4d9d-84b4-b0dfb243cd11"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSiteStatisticsWSATResponseModel"
                    }
                  ]
                },
                "example": {
                  "SiteId": "04123615-f4ab-4a07-9931-36ea38fbd4f4",
                  "SiteName": "DNS Site",
                  "PhishingCampaigns": 32,
                  "TrainingCampaigns": 22
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/8E9E-94CA-130D-4C5F-ABDF/sites/affca245-38ff-4d9d-84b4-b0dfb243cd11/statistics/wsat"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/statistics/crsb": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves CRSB statistics about a GSM console.",
        "operationId": "ConsoleGSM_GetStatisticsCRSB",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E460-74C6-865B-4954-8709"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMStatisticsCRSBResponseModel"
                    }
                  ]
                },
                "example": {
                  "Pending": 2,
                  "Protected": 4,
                  "PartiallyProtected": 4,
                  "NeedsAttention": 20,
                  "ScheduledForDeletion": 25,
                  "Expired": 21
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/E460-74C6-865B-4954-8709/statistics/crsb"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/statistics/crsb": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves CRSB statistics about a GSM site.",
        "operationId": "ConsoleGSM_GetStatisticsCRSB2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM console to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "A990-D302-D970-4B13-89D8"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The keycode of the GSM site to retrieve statistics for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "45762cd5-9e83-4209-bc9c-94567a72b502"
          }
        ],
        "responses": {
          "200": {
            "description": "Statistics about the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSiteStatisticsCRSBResponseModel"
                    }
                  ]
                },
                "example": {
                  "SiteId": "e8b1b42a-9980-4784-9e42-d7e302445864",
                  "SiteName": "CRSB Site",
                  "Pending": 9,
                  "Protected": 35,
                  "PartiallyProtected": 22,
                  "NeedsAttention": 7,
                  "ScheduledForDeletion": 23,
                  "Expired": 27
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/A990-D302-D970-4B13-89D8/sites/45762cd5-9e83-4209-bc9c-94567a72b502/statistics/crsb"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/webconsoleurl": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets a URL to the Webroot web console that, when used in a browser, automatically logs the authenticated user in to the corresponding GSM Console.",
        "description": "The lifetime of the returned console URL is 5 minutes. \n\n\n**IMPORTANT:** Due to 2-factor authentication requirements for the Webroot Console, as of Dec 2019 the Unity API SSO feature will be temporarily changed, where users will be directed to the usual Webroot Console Username/Password screen to re-authenticate. We will issue further notices when the SSO feature is redesigned.",
        "operationId": "ConsoleGSM_GetGSMSSOToken",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM keycode the user wants to access using the web console.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D617-75A7-12D7-4652-93DF"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a single sign-on URL to the desired GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSSOTokenResponseModel"
                    }
                  ]
                },
                "example": {
                  "GSMKeyCode": "65EC-C150-14C6-45D8-BD8B",
                  "UserName": "john.doe@mydomain.com",
                  "WebConsoleURL": "https://my.webrootanywhere.com/sso.aspx?kk=5450646b-b262-11e7-acc6-06b9f74b769e"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/D617-75A7-12D7-4652-93DF/webconsoleurl"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/webconsoleurl": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets a URL to the Webroot web console that, when used in a browser, automatically logs the authenticated user in to the corresponding Endpoint Protection Console.",
        "description": "The lifetime of the returned console URL is 5 minutes. \n\n\n**IMPORTANT:** Due to 2-factor authentication requirements for the Webroot Console, as of Dec 2019 the Unity API SSO feature will be temporarily changed, where users will be directed to the usual Webroot Console Username/Password screen to re-authenticate. We will issue further notices when the SSO feature is redesigned.",
        "operationId": "ConsoleGSM_GetGSMSiteSSOToken",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM keycode the site is under.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "06A2-9F06-3B0C-462A-8F73"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the GSM site the user wants to access using the web console.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "bc426051-14a0-45ec-980e-f435b2491df1"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a single sign-on URL to the Endpoint Protection Console for the desired GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSiteSSOTokenResponseModel"
                    }
                  ]
                },
                "example": {
                  "GSMKeyCode": "29CD-9527-E1B9-484E-9A8D",
                  "SiteId": "7e65c9ea-14a7-4bf6-b2cd-3fd5b458b1e2",
                  "AccountKeyCode": "40A3-FD7A-DCD3-4823-AD46",
                  "SiteName": "Site Name",
                  "UserName": "john.doe@mydomain.com",
                  "WebConsoleURL": "https://my.webrootanywhere.com/sso.aspx?kk=5450646b-b262-11e7-acc6-06b9f74b769e"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/06A2-9F06-3B0C-462A-8F73/sites/bc426051-14a0-45ec-980e-f435b2491df1/webconsoleurl"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of sites associated with a given GSM console.",
        "operationId": "ConsoleGSM_GetGSMSites",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "55F8-3016-34C2-44E7-9747"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of sites associated with a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSitesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalSeatsAllowed": 250,
                  "ParentDescription": "Full",
                  "SumTotalDevices": 57,
                  "SumTotalDevicesAllowed": 200,
                  "SumTotalDevicesNotTrial": 200,
                  "SumTotalMobileDevicesAllowed": 50,
                  "TotalCount": 2,
                  "Sites": [
                    {
                      "SiteId": "57128977-92b3-4e7c-9e40-15469e059f81",
                      "SiteName": "Site 1",
                      "SiteType": "R",
                      "TotalEndpoints": 24,
                      "PCsInfected24": 0,
                      "AccountKeyCode": "7475-18AD-4996-4D13-9B28",
                      "DevicesAllowed": 100,
                      "MobileSeats": 5,
                      "Deactivated": false,
                      "Suspended": false,
                      "EndDate": "2026-10-14T07:23:15.2095306Z",
                      "Device": true,
                      "Infect": false,
                      "BillingCycle": "Anually",
                      "BillingDate": "Jan 01",
                      "CompanyComments": "",
                      "DeactivatedBy": null,
                      "SuspendedBy": null,
                      "CreatedBy": "test@webroot.com",
                      "GlobalPolicies": true,
                      "GlobalOverrides": true,
                      "GlobalAlerts": true,
                      "AllKeysExpired": false,
                      "Description": "Full",
                      "PolicyId": "b6586e8f-bfe9-4c2d-82cc-cd9a6e3d759c",
                      "PolicyName": "Test policy",
                      "PolicyDescription": "Sample policy for testing",
                      "Emails": "test@webroot.com",
                      "AccessLevel": 128,
                      "Modules": [
                        {
                          "Type": "DNSP",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "WSAT",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "OTEDR",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "SAEP",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCS",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRM",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "CRSB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        }
                      ]
                    },
                    {
                      "SiteId": "9ad4f579-78e1-4895-91d9-d84a2ae6122f",
                      "SiteName": "Site 2",
                      "SiteType": "R",
                      "TotalEndpoints": 24,
                      "PCsInfected24": 0,
                      "AccountKeyCode": "5640-6530-B063-4A3D-9984",
                      "DevicesAllowed": 100,
                      "MobileSeats": 5,
                      "Deactivated": false,
                      "Suspended": false,
                      "EndDate": "2027-04-14T07:23:15.2095306Z",
                      "Device": true,
                      "Infect": false,
                      "BillingCycle": "Anually",
                      "BillingDate": "Jan 01",
                      "CompanyComments": "",
                      "DeactivatedBy": null,
                      "SuspendedBy": null,
                      "CreatedBy": "test@webroot.com",
                      "GlobalPolicies": true,
                      "GlobalOverrides": true,
                      "GlobalAlerts": true,
                      "AllKeysExpired": false,
                      "Description": "Full",
                      "PolicyId": "2c494803-9054-4a5a-a8f7-2c9632e5ba20",
                      "PolicyName": "Test policy",
                      "PolicyDescription": "Sample policy for testing",
                      "Emails": "test@webroot.com",
                      "AccessLevel": 128,
                      "Modules": [
                        {
                          "Type": "DNSP",
                          "LicenseType": "Trial",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "WSAT",
                          "LicenseType": "Trial",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "OTEDR",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "SAEP",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCS",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCB",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRM",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "CRSB",
                          "LicenseType": "Full",
                          "EndDate": "2027-04-14T07:23:15.2095306Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/55F8-3016-34C2-44E7-9747/sites"
          }
        ]
      },
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Creates a new site under a given GSM console.",
        "operationId": "ConsoleGSM_CreateGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "99B6-90BA-10C6-4904-9FD2"
          }
        ],
        "requestBody": {
          "x-name": "siteInformation",
          "description": "Additional information for creating the new site.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateGSMSiteRequestModel"
                  }
                ]
              },
              "example": {
                "SiteName": "Test Site",
                "Seats": 50,
                "Comments": "Comment for test site",
                "BillingCycle": "Monthly",
                "BillingDate": "1",
                "GlobalPolicies": true,
                "GlobalOverrides": false,
                "PolicyId": "fc474271-9cfe-46fd-b001-19efc806c993",
                "Emails": "test@webroot.com",
                "Trial": false,
                "Modules": [
                  {
                    "Type": "DNSP",
                    "LicenseType": "Trial",
                    "Enable": true
                  },
                  {
                    "Type": "WSAT",
                    "LicenseType": "Trial",
                    "Enable": true
                  },
                  {
                    "Type": "OTEDR",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "SAEP",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRCS",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRCB",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRM",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "CRSB",
                    "LicenseType": "Full",
                    "Enable": true
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Key information about the newly created site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateGSMSiteResponseModel"
                    }
                  ]
                },
                "example": {
                  "KeyCode": "5DE6-00E0-A57F-4F54-B4B9",
                  "SiteId": "1b267ead-fc7f-44b0-add9-2d75403e0cc6",
                  "PCAccess": 128,
                  "MSAccess": 1
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/99B6-90BA-10C6-4904-9FD2/sites"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a GSM site.",
        "operationId": "ConsoleGSM_GetGSMSites2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9628-440B-111F-4EFA-9E04"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "eb1ce02a-5453-4b89-819e-ecd33ba68e39"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of sites associated with a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSitesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalSeatsAllowed": 250,
                  "ParentDescription": "Full",
                  "SumTotalDevices": 57,
                  "SumTotalDevicesAllowed": 100,
                  "SumTotalDevicesNotTrial": 100,
                  "SumTotalMobileDevicesAllowed": 50,
                  "TotalCount": 1,
                  "Sites": [
                    {
                      "SiteId": "275337a8-eb0d-4310-afaf-6dbfd00154c9",
                      "SiteName": "Site 1",
                      "SiteType": "R",
                      "TotalEndpoints": 24,
                      "PCsInfected24": 0,
                      "AccountKeyCode": "66A3-06E2-AAA8-40C4-BBF6",
                      "DevicesAllowed": 100,
                      "MobileSeats": 5,
                      "Deactivated": false,
                      "Suspended": false,
                      "EndDate": "2026-10-14T07:23:15.225154Z",
                      "Device": true,
                      "Infect": false,
                      "BillingCycle": "Anually",
                      "BillingDate": "Jan 01",
                      "CompanyComments": "",
                      "DeactivatedBy": null,
                      "SuspendedBy": null,
                      "CreatedBy": "test@webroot.com",
                      "GlobalPolicies": true,
                      "GlobalOverrides": true,
                      "GlobalAlerts": true,
                      "AllKeysExpired": false,
                      "Description": "Full",
                      "PolicyId": "09c65fc8-4751-4e84-adc7-bfeed9ee956d",
                      "PolicyName": "Test policy",
                      "PolicyDescription": "Sample policy for testing",
                      "Emails": "test@webroot.com",
                      "AccessLevel": 128,
                      "Modules": [
                        {
                          "Type": "DNSP",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "WSAT",
                          "LicenseType": "Trial",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "OTEDR",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "SAEP",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCS",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRCB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "PLRM",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        },
                        {
                          "Type": "CRSB",
                          "LicenseType": "Full",
                          "EndDate": "2026-10-14T07:23:15.225154Z",
                          "ProvisioningStatus": {
                            "Status": "Success"
                          }
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/9628-440B-111F-4EFA-9E04/sites/eb1ce02a-5453-4b89-819e-ecd33ba68e39"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Edits information for a site under a given GSM console.",
        "operationId": "ConsoleGSM_EditGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "5874-2DA7-A9DF-4CE2-8CCE"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "3483c6a3-7363-4290-98de-b09e9d9f191f"
          }
        ],
        "requestBody": {
          "x-name": "siteInformation",
          "description": "Additional information about which values should be modified for the site.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditGSMSiteRequestModel"
                  }
                ]
              },
              "example": {
                "SiteName": "Renamed Test Site",
                "Seats": 50,
                "Comments": "Comment for renamed test site",
                "BillingCycle": "Monthly",
                "BillingDate": "1",
                "GlobalPolicies": true,
                "GlobalOverrides": false,
                "PolicyId": "7deea628-1d49-4cd9-97ca-5b370014a129",
                "Emails": "test@webroot.com",
                "Modules": [
                  {
                    "Type": "DNSP",
                    "LicenseType": "Trial",
                    "Enable": true
                  },
                  {
                    "Type": "WSAT",
                    "LicenseType": "Trial",
                    "Enable": true
                  },
                  {
                    "Type": "OTEDR",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "SAEP",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRCS",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRCB",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "PLRM",
                    "LicenseType": "Full",
                    "Enable": true
                  },
                  {
                    "Type": "CRSB",
                    "LicenseType": "Full",
                    "Enable": true
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/5874-2DA7-A9DF-4CE2-8CCE/sites/3483c6a3-7363-4290-98de-b09e9d9f191f"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/deactivate": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Deactivates a site under a given GSM console.",
        "description": "**WARNING:** Deactivating a site is permanent and cannot be undone. No more data will be collected for endpoints under the deactivated site.",
        "operationId": "ConsoleGSM_DeactivateGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D860-4E58-066C-4146-8D74"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "eb98c4db-ffe8-41e9-8cb7-4dba59349992"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/D860-4E58-066C-4146-8D74/sites/eb98c4db-ffe8-41e9-8cb7-4dba59349992/deactivate"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/suspend": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Suspends a site under a given GSM console.",
        "description": "When a site is suspended the associated license key is forcibly expired.",
        "operationId": "ConsoleGSM_SuspendGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "6573-722D-B973-403B-A9B4"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "9cec9d6a-c59a-4ec4-8fc8-202693145403"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/6573-722D-B973-403B-A9B4/sites/9cec9d6a-c59a-4ec4-8fc8-202693145403/suspend"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/resume": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Resumes a site under a given GSM console.",
        "description": "When a site is resumed, the site's license key inherits the days remaining of the parent GSM console keycode.",
        "operationId": "ConsoleGSM_ResumeGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1696-52F9-CEFF-427C-A8AA"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "98203818-a2b1-4b48-b327-d8494509d90e"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/1696-52F9-CEFF-427C-A8AA/sites/98203818-a2b1-4b48-b327-d8494509d90e/resume"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/converttrial": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Converts a trial site under a given GSM console into a full license.",
        "description": "This operation will fail, if the parent GSM console license is not a full license.",
        "operationId": "ConsoleGSM_ConvertTrialGSMSite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "F0B5-7B62-3654-483F-9A86"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "5dce9ef4-f2c2-4af6-a36d-6bfae2fe7ea6"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/F0B5-7B62-3654-483F-9A86/sites/5dce9ef4-f2c2-4af6-a36d-6bfae2fe7ea6/converttrial"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/admins": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of admins on a given GSM console.",
        "operationId": "ConsoleGSM_GetGSMAdmins",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "A7A6-B0F9-5C66-4F04-83A0"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of admins on a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMAdminsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Admins": [
                    {
                      "UserId": "86d0a4e3-f074-4df2-9790-b45080ca6a24",
                      "Email": "test1@webroot.com",
                      "FirstName": "Test1",
                      "LastName": "User1",
                      "DisplayName": "Test1 User1",
                      "MobileTel": "07432129",
                      "OfficeTel": "01849498",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    },
                    {
                      "UserId": "1e90af29-3a38-4dd2-9300-8bbac729644e",
                      "Email": "test2@webroot.com",
                      "FirstName": "Test2",
                      "LastName": "User2",
                      "DisplayName": "Test2 User2",
                      "MobileTel": "07888691",
                      "OfficeTel": "01704507",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/A7A6-B0F9-5C66-4F04-83A0/admins"
          }
        ]
      },
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Adds a new user as an admin to a GSM console with the desired access level.",
        "description": "If the user does not have a Webroot account yet, a new user account is created and the user onboarding e-mail workflow is initiated to let the user set credentials and confirm the account. Whether or not a new Webroot account is created, the user will be added as an admin to the GSM and the first and last name on the user's account are set to the provided values.\n\nBy default the added user will not have access to any sites under the GSM. Once added, use the [set site admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PUT-api-console-gsm-gsmKey-sites-siteId-admins) API to grant access to individual sites as needed.\n\nIf the user had already been added as a site-only admin on specific sites before, the user's access to these sites remains unchanged.",
        "operationId": "ConsoleGSM_CreateGSMAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7326-B3DC-68D8-4D69-A18F"
          }
        ],
        "requestBody": {
          "x-name": "adminInformation",
          "description": "Information about the user to add as admin and the desired access level.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateGSMAdminRequestModel"
                  }
                ]
              },
              "example": {
                "EmailAddress": "jdoe@domain.com",
                "FirstName": "Jane",
                "LastName": "Doe",
                "AccessLevel": 128
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Information about the user which was added as an admin to the GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateGSMAdminResponseModel"
                    }
                  ]
                },
                "example": {
                  "UserId": "9f57d6fe-8018-45d9-ae05-8f3f96ce170e",
                  "Email": "jdoe@domain.com",
                  "FirstName": "Jane",
                  "LastName": "Doe",
                  "DisplayName": "Jane Doe",
                  "MobileTel": "07411826",
                  "OfficeTel": "01577475",
                  "UserState": "Activated",
                  "AccessLevel": 128,
                  "MSPUser": false,
                  "Confirmed": true
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/7326-B3DC-68D8-4D69-A18F/admins"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/admins/{userId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a GSM admin.",
        "operationId": "ConsoleGSM_GetGSMAdmins2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "668E-9472-96BA-4881-BC9F"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "Identifier of the admin to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "c7bf1a8d-0090-419c-8645-fc2909093255"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of admins on a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMAdminsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Admins": [
                    {
                      "UserId": "52b08e10-91e7-4952-bad5-39778a42f985",
                      "Email": "test1@webroot.com",
                      "FirstName": "Test1",
                      "LastName": "User1",
                      "DisplayName": "Test1 User1",
                      "MobileTel": "07160943",
                      "OfficeTel": "01865692",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/668E-9472-96BA-4881-BC9F/admins/c7bf1a8d-0090-419c-8645-fc2909093255"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Edits certain user account attributes of a GSM admin.",
        "operationId": "ConsoleGSM_EditGSMAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "04F3-6534-2476-4519-A1CC"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "Identifier of the admin to modify.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "9f22799e-7cce-4a71-a037-57af678ae41e"
          }
        ],
        "requestBody": {
          "x-name": "adminInformation",
          "description": "Information about which values to modify.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditGSMAdminRequestModel"
                  }
                ]
              },
              "example": {
                "FirstName": "John",
                "LastName": null
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/04F3-6534-2476-4519-A1CC/admins/9f22799e-7cce-4a71-a037-57af678ae41e"
          }
        ]
      },
      "delete": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Removes a GSM admin from a GSM console and all its sites.",
        "operationId": "ConsoleGSM_RemoveGSMAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "BC28-0438-71DA-4005-B923"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "Identifier of the admin to remove.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "96979b27-2244-4efb-b8a0-850de692da3b"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/BC28-0438-71DA-4005-B923/admins/96979b27-2244-4efb-b8a0-850de692da3b"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/admins": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of admins on a given GSM site.",
        "operationId": "ConsoleGSM_GetGSMSiteAdmins",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "FC63-3025-04B8-41C0-9719"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "61c716ee-ac30-4308-94ef-5ca05d89bf4c"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of admins on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSiteAdminsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Admins": [
                    {
                      "UserId": "fbb25521-e203-4f29-adf5-b46a40597a11",
                      "Email": "test1@webroot.com",
                      "FirstName": "Test1",
                      "LastName": "User1",
                      "DisplayName": "Test1 User1",
                      "MobileTel": "07465000",
                      "OfficeTel": "01238488",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    },
                    {
                      "UserId": "2cda2fc2-0042-46fe-b97a-d76da3ca040d",
                      "Email": "test2@webroot.com",
                      "FirstName": "Test2",
                      "LastName": "User2",
                      "DisplayName": "Test2 User2",
                      "MobileTel": "07857359",
                      "OfficeTel": "01330702",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/FC63-3025-04B8-41C0-9719/sites/61c716ee-ac30-4308-94ef-5ca05d89bf4c/admins"
          }
        ]
      },
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Adds a new user as a site admin to a site with the desired access level.",
        "description": "If the user does not have a Webroot account yet, a new user account is created and the user onboarding e-mail workflow is initiated to let the user set credentials and confirm the account. Whether or not a new Webroot account is created, the user will be added as an admin to the site and the first and last name on the user's account are set to the provided values.\n\n\n\n**NOTE:** This API is for adding a new user as an admin to a site. To allow access to a site for a user who is already an admin on the GSM, use the [set site admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PUT-api-console-gsm-gsmKey-sites-siteId-admins) API instead. To get a list of GSM-level admins, call the [get GSM admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-admins) API.",
        "operationId": "ConsoleGSM_CreateGSMSiteAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "2506-B884-8802-4325-B384"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "1914bcc6-9daf-445e-992d-7d9c0664d37a"
          }
        ],
        "requestBody": {
          "x-name": "adminInformation",
          "description": "Information about the user to add as admin and the desired access level.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateGSMSiteAdminRequestModel"
                  }
                ]
              },
              "example": {
                "EmailAddress": "jdoe@domain.com",
                "FirstName": "Jane",
                "LastName": "Doe",
                "AccessLevel": 128
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Information about the user which was added as a site admin to the site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateGSMSiteAdminResponseModel"
                    }
                  ]
                },
                "example": {
                  "UserId": "1dbb8729-992a-4344-afe7-447448119f43",
                  "Email": "jdoe@domain.com",
                  "FirstName": "Jane",
                  "LastName": "Doe",
                  "DisplayName": "Jane Doe",
                  "MobileTel": "07615250",
                  "OfficeTel": "01554825",
                  "UserState": "Activated",
                  "AccessLevel": 128,
                  "MSPUser": false,
                  "Confirmed": true
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/2506-B884-8802-4325-B384/sites/1914bcc6-9daf-445e-992d-7d9c0664d37a/admins"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Adds admins to a site or modifies access permissions of site admins.",
        "description": "**NOTE:** Depending on the number of permission changes made, these modifications may take up to a few minutes to be processed and reflected by other API calls accordingly. \n\n**NOTE:** This API method allows adding existing GSM admins to the list of admins of a site, or modifying access permissions of already set up site admins. To get information about available admins, either query the list of admins on the GSM console (see [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-admins)) or the list of admins on a site (see [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-sites-siteId-admins)). ",
        "operationId": "ConsoleGSM_EditGSMSiteAdmins",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "72A1-FEC9-BD35-4195-AC2D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "66d5e42f-714c-4bbc-9683-a0da4e5b45f8"
          }
        ],
        "requestBody": {
          "x-name": "adminInformation",
          "description": "Additional information about which admins should be added to or modified for the site.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditGSMSiteAdminsRequestModel"
                  }
                ]
              },
              "example": {
                "Admins": [
                  {
                    "UserId": "ee593c84-fb23-498d-aa89-55d3c60af55a",
                    "AccessLevel": 128
                  },
                  {
                    "UserId": "7c1601d9-e59e-4a67-a92b-8ec43c6d4b8e",
                    "AccessLevel": 128
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/72A1-FEC9-BD35-4195-AC2D/sites/66d5e42f-714c-4bbc-9683-a0da4e5b45f8/admins"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/admins/{userId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a site admin.",
        "operationId": "ConsoleGSM_GetGSMSiteAdmins2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "B277-890E-9715-4869-B045"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "2b412562-81bc-4074-9c12-4f3c8e56243a"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The admin identifier to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "fce69d65-0077-4097-bbfe-b13b60d820b2"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of admins on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSiteAdminsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Admins": [
                    {
                      "UserId": "6edb8b26-fdfb-4696-83b3-aa2e0d4509ae",
                      "Email": "test1@webroot.com",
                      "FirstName": "Test1",
                      "LastName": "User1",
                      "DisplayName": "Test1 User1",
                      "MobileTel": "07373319",
                      "OfficeTel": "01135032",
                      "UserState": "Activated",
                      "AccessLevel": 128,
                      "MSPUser": false,
                      "Confirmed": true
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/B277-890E-9715-4869-B045/sites/2b412562-81bc-4074-9c12-4f3c8e56243a/admins/fce69d65-0077-4097-bbfe-b13b60d820b2"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Edits certain user account attributes of a site admin.",
        "operationId": "ConsoleGSM_EditGSMSiteAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E84F-6787-9C02-4A72-A3FC"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ca0c00b1-3afe-4b80-9895-2bcb8a3d818e"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The identifier of the admin to modify.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "1111b943-f665-4c0a-acc3-c0418d0a3b7b"
          }
        ],
        "requestBody": {
          "x-name": "adminInformation",
          "description": "Information about which values to modify.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditGSMSiteAdminRequestModel"
                  }
                ]
              },
              "example": {
                "FirstName": "John",
                "LastName": null
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/E84F-6787-9C02-4A72-A3FC/sites/ca0c00b1-3afe-4b80-9895-2bcb8a3d818e/admins/1111b943-f665-4c0a-acc3-c0418d0a3b7b"
          }
        ]
      },
      "delete": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Removes an admin from a site.",
        "description": "If the admin is a site-only admin on the site, the admin will be removed from the site. If the admin is an admin on the parent GSM console, the admin's permissions on the GSM and its other sites remain unchanged - the user's access level will be set to 0 (no access) for the specified site only.",
        "operationId": "ConsoleGSM_RemoveGSMSiteAdmin",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D503-D309-2DB2-42E4-A79F"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "f9825a88-8fa5-4aeb-9793-1b7b7ccc2f8d"
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The identifier of the admin to remove.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "11c2e270-7d41-410c-8b4c-c7b0faf03f64"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/D503-D309-2DB2-42E4-A79F/sites/f9825a88-8fa5-4aeb-9793-1b7b7ccc2f8d/admins/11c2e270-7d41-410c-8b4c-c7b0faf03f64"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/policies": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of global policies on a given GSM console.",
        "operationId": "ConsoleGSM_GetGSMPolicies",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "2057-567E-FBA4-4F44-8AB9"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of global policies on a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMPoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Deleted": false,
                  "Policies": [
                    {
                      "PolicyId": "2d2864c8-5ad6-4203-b67c-36cb0a1e2b90",
                      "DateCreated": "2026-02-14T07:23:15.6944574Z",
                      "PolicyName": "Test Policy 1",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 1",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "PolicyType": "Advanced"
                    },
                    {
                      "PolicyId": "cc0fc066-bc41-413f-a910-cbbfed00ce64",
                      "DateCreated": "2025-12-14T07:23:15.6944574Z",
                      "PolicyName": "Test Policy 2",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 2",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "PolicyType": "Advanced"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/2057-567E-FBA4-4F44-8AB9/policies"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/policies/{policyId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a GSM policy.",
        "operationId": "ConsoleGSM_GetGSMPolicies2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "4A14-9681-CA1A-43E7-943F"
          },
          {
            "name": "policyId",
            "in": "path",
            "required": true,
            "description": "The identifier of the policy to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "c079a047-3e91-411f-a9b9-a77c74c100ae"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of global policies on a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMPoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Deleted": false,
                  "Policies": [
                    {
                      "PolicyId": "bbd8edeb-77ee-471e-9395-2b50167f626f",
                      "DateCreated": "2026-02-14T07:23:15.6944574Z",
                      "PolicyName": "Test Policy 1",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 1",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "PolicyType": "Advanced"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/4A14-9681-CA1A-43E7-943F/policies/c079a047-3e91-411f-a9b9-a77c74c100ae"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/policies": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of policies on a given GSM site.",
        "operationId": "ConsoleGSM_GetGSMSitePolicies",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "C75D-CFA8-A560-496A-AC9D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ef6238bd-281f-4649-ad5f-f047c5c3003b"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of policies available on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSitePoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Deleted": false,
                  "Policies": [
                    {
                      "PolicyId": "5381e79c-4fe1-4433-8662-09bef68840ee",
                      "DateCreated": "2026-02-14T07:23:15.756964Z",
                      "PolicyName": "Test Policy 1",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 1",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "GlobalPolicy": false,
                      "PolicyType": "Advanced"
                    },
                    {
                      "PolicyId": "e985d1e8-fa52-4547-b0db-685661e3f41a",
                      "DateCreated": "2025-12-14T07:23:15.756964Z",
                      "PolicyName": "Test Policy 2",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 2",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "GlobalPolicy": false,
                      "PolicyType": "Advanced"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/C75D-CFA8-A560-496A-AC9D/sites/ef6238bd-281f-4649-ad5f-f047c5c3003b/policies"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/policies/{policyId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a site policy.",
        "operationId": "ConsoleGSM_GetGSMSitePolicies2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "41ED-94B9-0326-4995-A0AE"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "8ec9a1f2-12ac-4d9a-b5ea-bd8388712d15"
          },
          {
            "name": "policyId",
            "in": "path",
            "required": true,
            "description": "The identifier of the policy to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "531b10d6-0237-4c22-8d46-66b57021cdb6"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of policies available on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGSMSitePoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Deleted": false,
                  "Policies": [
                    {
                      "PolicyId": "9a6df6fe-7309-4ad6-a378-6b016f4ab071",
                      "DateCreated": "2026-02-14T07:23:15.7725901Z",
                      "PolicyName": "Test Policy 1",
                      "LivePolicy": true,
                      "PendingPolicy": false,
                      "PolicyDescription": "Description of test policy 1",
                      "Deleted": false,
                      "Canned": false,
                      "DefaultSetting": false,
                      "GlobalPolicy": false,
                      "PolicyType": "Advanced"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/41ED-94B9-0326-4995-A0AE/sites/8ec9a1f2-12ac-4d9a-b5ea-bd8388712d15/policies/531b10d6-0237-4c22-8d46-66b57021cdb6"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of groups on a given GSM site.",
        "operationId": "ConsoleGSM_GetGroups",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "6DCD-DCE0-45E5-448C-AF85"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "e661252d-2efb-4f2e-99cc-5e0952193b1c"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of groups on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGroupsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Groups": [
                    {
                      "Endpoints": 76,
                      "GroupCode": "-357184734",
                      "GroupId": "e9bb5e9a-3a81-4d3c-84e1-1bddaed2fe13",
                      "GroupName": "Test Group 1",
                      "GroupDescription": "Description of test group 1",
                      "GroupPolicyId": "6f088578-2a11-4fa2-9eeb-b87537f130f0",
                      "GroupPolicyName": "Test Policy 1"
                    },
                    {
                      "Endpoints": 76,
                      "GroupCode": "-133257821",
                      "GroupId": "a5115c4d-860c-4fb7-8c89-5e51622d46b9",
                      "GroupName": "Test Group 2",
                      "GroupDescription": "Description of test group 2",
                      "GroupPolicyId": "5de44d15-00f4-441c-9655-5cff3c3fd3e1",
                      "GroupPolicyName": "Test Policy 2"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/6DCD-DCE0-45E5-448C-AF85/sites/e661252d-2efb-4f2e-99cc-5e0952193b1c/groups"
          }
        ]
      },
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Creates a group under a given GSM site.",
        "operationId": "ConsoleGSM_CreateGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1591-1E3D-24AB-4A0C-B51D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "9b567ec3-c8ee-4db4-acdb-749132d37655"
          }
        ],
        "requestBody": {
          "x-name": "groupInformation",
          "description": "Additional information for creating a new group.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateGroupRequestModel"
                  }
                ]
              },
              "example": {
                "GroupName": "Test Group",
                "GroupDescription": "Description of test group",
                "PolicyId": "3fefc6f0-6152-4d54-8a1b-333df674df35"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Information about the created group.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateGroupResponseModel"
                    }
                  ]
                },
                "example": {
                  "GroupId": "7309ef86-ec59-4e4f-a9ff-d8ff4f1b1b52"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/1591-1E3D-24AB-4A0C-B51D/sites/9b567ec3-c8ee-4db4-acdb-749132d37655/groups"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about a group.",
        "operationId": "ConsoleGSM_GetGroups2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "148F-EA09-3DE0-4627-993A"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "b632b806-f41e-4d20-9af7-d3070df48cd1"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "35a2393a-0359-4d16-88db-8b8bfae4971a"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of groups on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetGroupsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Groups": [
                    {
                      "Endpoints": 58,
                      "GroupCode": "-446357527",
                      "GroupId": "c54e0a38-fea1-4997-8114-de561ff4b53b",
                      "GroupName": "Test Group 1",
                      "GroupDescription": "Description of test group 1",
                      "GroupPolicyId": "f532af06-a3b7-4cca-ad19-82192b30e022",
                      "GroupPolicyName": "Test Policy 1"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/148F-EA09-3DE0-4627-993A/sites/b632b806-f41e-4d20-9af7-d3070df48cd1/groups/35a2393a-0359-4d16-88db-8b8bfae4971a"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Edits a group under a given GSM site.",
        "operationId": "ConsoleGSM_EditGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9426-120B-99C6-49DC-9F05"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "46ec80f4-18f6-46f4-95ed-b4476603d708"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "d31191f0-a6be-456e-91a0-137157654502"
          }
        ],
        "requestBody": {
          "x-name": "groupInformation",
          "description": "Additional information for editing a group.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditGroupRequestModel"
                  }
                ]
              },
              "example": {
                "Inheritance": 0,
                "GroupName": "Renamed test group",
                "GroupDescription": "Description of renamed test group",
                "PolicyId": "9f808729-811d-4068-945e-578273ac06c7"
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/9426-120B-99C6-49DC-9F05/sites/46ec80f4-18f6-46f4-95ed-b4476603d708/groups/d31191f0-a6be-456e-91a0-137157654502"
          }
        ]
      },
      "delete": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Deletes a group under a given GSM site.",
        "operationId": "ConsoleGSM_DeleteGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "B813-01CF-63B5-42F2-8073"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "eac9f1ca-25cb-4fe9-a920-eab9f2c2eae2"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "ac5f9b94-e9ad-4567-8458-b191fb2c4daf"
          },
          {
            "name": "newGroupId",
            "in": "query",
            "description": "The id of the new group to where endpoints from the deleted group are moved to. If not specified, the endpoints are moved to the default group.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "34691ed9-14a8-4f21-a1b3-1068a4f499a6"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/B813-01CF-63B5-42F2-8073/sites/eac9f1ca-25cb-4fe9-a920-eab9f2c2eae2/groups/ac5f9b94-e9ad-4567-8458-b191fb2c4daf"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of endpoints on a given GSM site.",
        "operationId": "ConsoleGSM_GetEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "CBDB-5045-F72E-48FF-8CCB"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "cb4b0d84-8fb2-4c34-bff9-72f070b70145"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Can be set to \"active\" (returns active endpoints only) or \"deactivated\" (returns deactivated endpoints only). If this parameter is omitted, endpoints regardless of their activation state are returned.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "active"
          },
          {
            "name": "hostName",
            "in": "query",
            "description": "Used to search for a particular hostname.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "MyComputer1"
          },
          {
            "name": "machineId",
            "in": "query",
            "description": "Used to search for a particular machine.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "77E0FC7FA67F4079A5E17B8C50EB5207:::C1272A18A19049749D75548FE06A75E0:::C1272A18A19049749D75548FE06A75E0"
          },
          {
            "name": "order",
            "in": "query",
            "description": "Used to determine the order field. Valid values are \"hostname\", \"firstseen\", \"lastseen\", \"agentversion\", \"lastinfected\". Default value is \"hostname\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 6,
            "example": "hostname"
          },
          {
            "name": "orderDirection",
            "in": "query",
            "description": "Used to sort the data. \"A\" for ascending, \"D\" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in ascending order.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 7,
            "example": "D"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records being returned.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 8,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 9,
            "example": "3"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of endpoints on a given GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetEndpointsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 2,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Endpoints": [
                    {
                      "Seq": 1,
                      "EndpointId": "6d0be239-4cb1-4ea8-80d8-8ea04bc5e247",
                      "HostName": "MyComputer1",
                      "GroupName": "Test Group",
                      "FirstSeen": "2025-11-14T07:23:15.9913669Z",
                      "LastSeen": "2025-11-14T07:23:15.9913669Z",
                      "AgentVersion": "9.0.13.58",
                      "LicenseKey": "79BC-1C13-CF72-4726-B52B",
                      "Expired": false,
                      "LastChangesUserId": "ac2e81cf-9dd3-4f7f-904c-6c790820f167",
                      "MachineId": "9FBF778A31854A70BC4878CEC26B3D9C:::3817BCC8177C44A08F84EA73BD01713A:::3817BCC8177C44A08F84EA73BD01713A",
                      "PolicyId": "7ea0c319-1bd1-4085-bcd7-4c596632edd9",
                      "VM": false,
                      "AgentLanguage": "en",
                      "FriendlyPCName": "",
                      "GroupId": "92a7956b-0cb3-4ba0-bb15-1b7124b53fde",
                      "PolicyName": "Test Policy",
                      "LastInfected": "2026-01-14T07:23:15.9913669Z",
                      "InfectedNow": false,
                      "NumUsers": 1,
                      "MaxUsers": 2,
                      "InternalIP": "10.208.135.59",
                      "MACAddress": "40-E9-83-D4-FC-AA",
                      "ADDomain": "domain.webroot.com",
                      "ADOU": "Webroot.Computers",
                      "Workgroup": "WORKGROUP",
                      "CurrentUser": "Paul",
                      "Mac": false,
                      "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit",
                      "LastPublicIP": "95.60.252.66",
                      "Deactivated": false,
                      "LastScanSeq": "624601213",
                      "ModifiedDate": "2026-04-07T07:23:16.0069877Z",
                      "IsolationStatus": "UNISOLATED",
                      "ActiveModules": [
                        "endpoint"
                      ]
                    },
                    {
                      "Seq": 2,
                      "EndpointId": "73c0ecac-e7f9-4c3a-932b-70892228d7a4",
                      "HostName": "MyComputer2",
                      "GroupName": "Test Group",
                      "FirstSeen": "2025-06-14T07:23:16.0069877Z",
                      "LastSeen": "2025-06-14T07:23:16.0069877Z",
                      "AgentVersion": "9.0.13.58",
                      "LicenseKey": "79BC-1C13-CF72-4726-B52B",
                      "Expired": false,
                      "LastChangesUserId": "cc7dd254-fd06-47a0-b228-2139a8e2a2e0",
                      "MachineId": "82FEF60413E04CA8B9F1DA7D16265C30:::8BCB6ED28FEB43449C7A538EDF0E011C:::8BCB6ED28FEB43449C7A538EDF0E011C",
                      "PolicyId": "442c8d9f-da18-49dc-8f81-fd9d39cef447",
                      "VM": false,
                      "AgentLanguage": "en",
                      "FriendlyPCName": "",
                      "GroupId": "0cd6889c-03ea-4460-bb35-b1086c384763",
                      "PolicyName": "Test Policy",
                      "LastInfected": "2025-10-14T07:23:16.0069877Z",
                      "InfectedNow": false,
                      "NumUsers": 1,
                      "MaxUsers": 4,
                      "InternalIP": "10.65.30.177",
                      "MACAddress": "3A-17-0C-2C-8F-C9",
                      "ADDomain": "domain.webroot.com",
                      "ADOU": "Webroot.Computers",
                      "Workgroup": "WORKGROUP",
                      "CurrentUser": "Paul",
                      "Mac": false,
                      "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit",
                      "LastPublicIP": "95.48.64.253",
                      "Deactivated": false,
                      "LastScanSeq": "777703333",
                      "ModifiedDate": "2026-03-31T07:23:16.0069877Z",
                      "IsolationStatus": "UNISOLATED",
                      "ActiveModules": [
                        "endpoint"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?type=active"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?hostName=MyComputer1"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?machineId=e12cee848565435b8533ec7540366f13:::9a3ff75d83634d1386af15c238b575fb:::9a3ff75d83634d1386af15c238b575fb"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?pageSize=100&pageNr=3"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?order=lastseen&orderDirection=A"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Moves endpoints to a different group.",
        "operationId": "ConsoleGSM_SetGroupEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "CD83-95C1-99F1-4385-9D7B"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "21080645-bcf8-4694-8cd2-2b9e1db4270e"
          }
        ],
        "requestBody": {
          "x-name": "groupInformation",
          "description": "Additional information for setting a group for endpoints.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetGroupEndpointsRequestModel"
                  }
                ]
              },
              "example": {
                "EndpointsList": null,
                "SourceGroupId": "e188ad74-3015-4d54-94a8-8432fe5a0f2c",
                "TargetGroupId": "e5c95d02-bbb4-41f1-8c69-771fbc9611a6",
                "Inheritance": 1
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/CD83-95C1-99F1-4385-9D7B/sites/21080645-bcf8-4694-8cd2-2b9e1db4270e/endpoints"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/{endpointId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets information about an endpoint.",
        "operationId": "ConsoleGSM_GetEndpointsById",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "5FE7-E3F1-E354-4D16-9DE0"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "04945abc-78e0-42c8-ad58-bc2a0669ec36"
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The endpoint identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "65add72d-d1f4-48f7-a3b9-2914a2d18a7d"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the desired endpoints.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetEndpointsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 1,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Endpoints": [
                    {
                      "Seq": 1,
                      "EndpointId": "66613425-bcda-490f-b5a8-5d3fc4933635",
                      "HostName": "MyComputer1",
                      "GroupName": "Test Group",
                      "FirstSeen": "2025-11-14T07:23:16.0069877Z",
                      "LastSeen": "2025-11-14T07:23:16.0069877Z",
                      "AgentVersion": "9.0.13.58",
                      "LicenseKey": "504A-6365-67C8-4315-B58F",
                      "Expired": false,
                      "LastChangesUserId": "b06501ef-8269-4829-829b-450480996517",
                      "MachineId": "490576DD506B4951920F4E492A6F6493:::057C9E261029492F9A258EDB7295B78B:::057C9E261029492F9A258EDB7295B78B",
                      "PolicyId": "5b5303aa-3025-4002-8e12-43f8fbc795c1",
                      "VM": false,
                      "AgentLanguage": "en",
                      "FriendlyPCName": "",
                      "GroupId": "19e35dd7-5e58-4800-b6ec-4a83c66b6892",
                      "PolicyName": "Test Policy",
                      "LastInfected": "2026-01-14T07:23:16.0069877Z",
                      "InfectedNow": false,
                      "NumUsers": 1,
                      "MaxUsers": 2,
                      "InternalIP": "10.150.139.22",
                      "MACAddress": "A2-74-2B-3E-38-AF",
                      "ADDomain": "domain.webroot.com",
                      "ADOU": "Webroot.Computers",
                      "Workgroup": "WORKGROUP",
                      "CurrentUser": "Paul",
                      "Mac": false,
                      "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit",
                      "LastPublicIP": "95.94.201.226",
                      "Deactivated": false,
                      "LastScanSeq": "815023911",
                      "ModifiedDate": "2026-04-07T07:23:16.0069877Z",
                      "IsolationStatus": "UNISOLATED",
                      "ActiveModules": [
                        "endpoint"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/5FE7-E3F1-E354-4D16-9DE0/sites/04945abc-78e0-42c8-ad58-bc2a0669ec36/endpoints/65add72d-d1f4-48f7-a3b9-2914a2d18a7d"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/endpoints": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets the list of endpoints on a given group.",
        "operationId": "ConsoleGSM_GetGroupEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7E67-8790-F30E-427A-A5F3"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "7032c341-6c8f-424f-a4e4-1ae826cda6b5"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "cbd33cd6-ec05-4fc4-838f-dddf256864fc"
          },
          {
            "name": "order",
            "in": "query",
            "description": "Used to determine the order field. Valid values are \"hostname\", \"firstseen\", \"lastseen\", \"agentversion\", \"lastinfected\". Default value is \"hostname\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "hostname"
          },
          {
            "name": "orderDirection",
            "in": "query",
            "description": "Used to sort the data. \"A\" for ascending, \"D\" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in ascending order.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "A"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records being returned.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 6,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 7,
            "example": "44"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the list of endpoints on a given group.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetEndpointsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 2,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Endpoints": [
                    {
                      "Seq": 1,
                      "EndpointId": "402d8a31-39c2-4e40-91b9-3e170681adea",
                      "HostName": "MyComputer1",
                      "GroupName": "Test Group",
                      "FirstSeen": "2025-11-14T07:23:16.0382458Z",
                      "LastSeen": "2025-11-14T07:23:16.0382458Z",
                      "AgentVersion": "9.0.13.58",
                      "LicenseKey": "F3E5-5F99-F5B2-45B6-A26B",
                      "Expired": false,
                      "LastChangesUserId": "8b28877b-3e70-40f2-8699-cabf42e5f93d",
                      "MachineId": "18B5C7FAFCC149E09292428EC2637044:::8D83CB6ABADA41EBAD5AED65B62BC54B:::8D83CB6ABADA41EBAD5AED65B62BC54B",
                      "PolicyId": "157df63e-cee2-4a3a-b746-8d62f0552b0b",
                      "VM": false,
                      "AgentLanguage": "en",
                      "FriendlyPCName": "",
                      "GroupId": "93a351b2-a795-42cb-b657-a89de788d14d",
                      "PolicyName": "Test Policy",
                      "LastInfected": "2026-01-14T07:23:16.0382458Z",
                      "InfectedNow": false,
                      "NumUsers": 1,
                      "MaxUsers": 2,
                      "InternalIP": "10.139.5.155",
                      "MACAddress": "71-0E-85-F3-AF-3A",
                      "ADDomain": "domain.webroot.com",
                      "ADOU": "Webroot.Computers",
                      "Workgroup": "WORKGROUP",
                      "CurrentUser": "Paul",
                      "Mac": false,
                      "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit",
                      "LastPublicIP": "95.218.64.186",
                      "Deactivated": false,
                      "LastScanSeq": "1579669033",
                      "ModifiedDate": "2026-04-07T07:23:16.0382458Z",
                      "IsolationStatus": "UNISOLATED",
                      "ActiveModules": [
                        "endpoint"
                      ]
                    },
                    {
                      "Seq": 2,
                      "EndpointId": "cba62c27-8ee1-4d87-bafa-bfa68e8d9998",
                      "HostName": "MyComputer2",
                      "GroupName": "Test Group",
                      "FirstSeen": "2025-06-14T07:23:16.0382458Z",
                      "LastSeen": "2025-06-14T07:23:16.0382458Z",
                      "AgentVersion": "9.0.13.58",
                      "LicenseKey": "F3E5-5F99-F5B2-45B6-A26B",
                      "Expired": false,
                      "LastChangesUserId": "4e1d957b-386c-4d85-8610-dffb22c1ff78",
                      "MachineId": "031A48E459C74F2E8A8A50A55D5E8131:::24C634257FAA4E43AA818BE8F03A11C9:::24C634257FAA4E43AA818BE8F03A11C9",
                      "PolicyId": "eb654002-8e50-44e9-aa7c-a0e55b46c807",
                      "VM": false,
                      "AgentLanguage": "en",
                      "FriendlyPCName": "",
                      "GroupId": "e77ac661-cad3-4d03-97ed-08c13e11123d",
                      "PolicyName": "Test Policy",
                      "LastInfected": "2025-10-14T07:23:16.0382458Z",
                      "InfectedNow": false,
                      "NumUsers": 1,
                      "MaxUsers": 4,
                      "InternalIP": "10.105.155.8",
                      "MACAddress": "C1-25-51-59-AB-F5",
                      "ADDomain": "domain.webroot.com",
                      "ADOU": "Webroot.Computers",
                      "Workgroup": "WORKGROUP",
                      "CurrentUser": "Paul",
                      "Mac": false,
                      "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit",
                      "LastPublicIP": "95.144.49.109",
                      "Deactivated": false,
                      "LastScanSeq": "204738133",
                      "ModifiedDate": "2026-03-31T07:23:16.0382458Z",
                      "IsolationStatus": "UNISOLATED",
                      "ActiveModules": [
                        "endpoint"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints?pageSize=100&pageNr=3"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints?order=lastseen&orderDirection=A"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/policy": {
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Applies a new policy to the specified endpoints.",
        "operationId": "ConsoleGSM_SetPolicyEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "0136-D559-0F74-48C8-8F8B"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "a54890f2-d403-4dd7-a9c6-ba0802e911b5"
          }
        ],
        "requestBody": {
          "x-name": "policyInformation",
          "description": "Additional information for setting a new policy.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetPolicyEndpointsRequestModel"
                  }
                ]
              },
              "example": {
                "EndpointsList": "6e1fe305-9c4f-4d3a-ad16-dde4b2aae345,3ee0837e-0eb3-452d-b6fe-deb25515e33e",
                "PolicyId": "5d112ccc-217f-42b0-93ff-fb76ccddb08a"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/0136-D559-0F74-48C8-8F8B/sites/a54890f2-d403-4dd7-a9c6-ba0802e911b5/endpoints/policy"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/endpoints/policy": {
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Applies a new policy to a group of endpoints.",
        "operationId": "ConsoleGSM_SetPolicyGroupEndpoints",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "C154-5BF2-93EE-4705-9359"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "6a33040f-bc02-4f7c-92cd-3bc15c092c2d"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "6426877b-ddb3-4bb2-81f0-8b733559e990"
          }
        ],
        "requestBody": {
          "x-name": "policyInformation",
          "description": "Additional information for setting a new policy.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetPolicyGroupEndpointsRequestModel"
                  }
                ]
              },
              "example": {
                "PolicyId": "b9eb8a6c-b421-40e9-aa5e-01ccbbd8bfc2"
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/C154-5BF2-93EE-4705-9359/sites/6a33040f-bc02-4f7c-92cd-3bc15c092c2d/groups/6426877b-ddb3-4bb2-81f0-8b733559e990/endpoints/policy"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/reactivate": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Reactivates a list of endpoints, or all endpoints on a site.",
        "description": "This command is only applied to deactivated endpoints.",
        "operationId": "ConsoleGSM_SetCommandReactivate",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "962B-6989-A21D-48D0-8266"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "2ad08890-ac73-4bc5-8eeb-28bcc8f3bfa6"
          }
        ],
        "requestBody": {
          "x-name": "commandInformation",
          "description": "Additional information for reactivating endpoints.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetCommandReOrDeactivateRequestModel"
                  }
                ]
              },
              "example": {
                "EndpointsList": "5da24d23-585b-4a2b-9c94-d97556e64858,b3f2c1a3-d5a9-41bf-a6f1-176de7a51e32"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/962B-6989-A21D-48D0-8266/sites/2ad08890-ac73-4bc5-8eeb-28bcc8f3bfa6/endpoints/reactivate"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/deactivate": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Deactivates a list of endpoints, or all endpoints on a site.",
        "operationId": "ConsoleGSM_SetCommandDeactivate",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "204C-CD78-FF89-4523-A20E"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "5e800be4-5203-4697-83d2-dffb43100e39"
          }
        ],
        "requestBody": {
          "x-name": "commandInformation",
          "description": "Additional information for deactivating endpoints.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetCommandReOrDeactivateRequestModel"
                  }
                ]
              },
              "example": {
                "EndpointsList": "b6abb1aa-b970-488d-8b57-7444d867d155,3e113f35-6174-4e68-9bae-c6d118b0d349"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/204C-CD78-FF89-4523-A20E/sites/5e800be4-5203-4697-83d2-dffb43100e39/endpoints/deactivate"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/endpoints/deactivate": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Deactivates all endpoints in a group.",
        "operationId": "ConsoleGSM_SetCommandDeactivateGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "EDDF-6FB6-6EF7-4A17-B5C3"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "e641ba86-27da-4a67-999e-6bed8b5d16c5"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "b54db12e-790d-47a0-8ad1-57b8c1c9e121"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/EDDF-6FB6-6EF7-4A17-B5C3/sites/e641ba86-27da-4a67-999e-6bed8b5d16c5/groups/b54db12e-790d-47a0-8ad1-57b8c1c9e121/endpoints/deactivate"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/commands": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets a list of executed commands on a given GSM site.",
        "operationId": "ConsoleGSM_GetCommands",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "D0BB-B09E-A2D8-41E7-B512"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "109e31a7-2e55-4f9e-b837-1a6fa9efa906"
          },
          {
            "name": "endpointId",
            "in": "query",
            "description": "The endpoint identifier to get the executed command for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "dca0dc60-6dc6-4250-b542-3927338252d6"
          },
          {
            "name": "command",
            "in": "query",
            "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "uninstall"
          },
          {
            "name": "commandState",
            "in": "query",
            "description": "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "2"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all issued commands after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 6,
            "example": "2026-03-15T07:23:16.2102067Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all issued commands before (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 7,
            "example": "2026-04-14T07:23:16.2102067Z"
          },
          {
            "name": "order",
            "in": "query",
            "description": "Used to determine the order field. Valid values are \"daterequested\", \"hostname\", \"commandstate\", \"command\". Default value is \"daterequested\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 8,
            "example": "hostname"
          },
          {
            "name": "orderDirection",
            "in": "query",
            "description": "Used to sort the data. \"A\" for ascending, \"D\" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in descending order.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 9,
            "example": "D"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records being returned.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 10,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 11,
            "example": "11"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the executed commands.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCommandsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 2,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Commands": [
                    {
                      "DateRequested": "2026-04-14T01:23:16.2102067Z",
                      "EndpointId": "3dc1672a-f3b8-47bd-a090-256ee3a8c9e4",
                      "HostName": "MyComputer1",
                      "StartDate": "2026-04-14T04:23:16.2102067Z",
                      "EndDate": "2026-04-14T14:23:16.2102067Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 4
                    },
                    {
                      "DateRequested": "2026-04-14T00:23:16.2102067Z",
                      "EndpointId": "7baeae52-46ba-4092-9201-85db0dee0e33",
                      "HostName": "MyComputer2",
                      "StartDate": "2026-04-14T05:23:16.2102067Z",
                      "EndDate": "2026-04-14T15:23:16.2102067Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 4
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?command=scan"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?endpointId=ea1563b2-4536-4017-b329-38e969fc5a06&commandState=3"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?order=command&orderDirection=A"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/commands": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets a list of executed commands on a given group.",
        "description": "Only returns the executed commands from the past 6 months.",
        "operationId": "ConsoleGSM_GetGroupCommands",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "4EEE-EC9A-7D64-4900-8B8D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "5c64e78a-651a-4425-982b-2f3bef1f5f74"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier to get the executed commands for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "42faf964-4cf1-44ad-ac73-d8d7a1d0197a"
          },
          {
            "name": "command",
            "in": "query",
            "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "restart"
          },
          {
            "name": "commandState",
            "in": "query",
            "description": "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "3"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all issued commands after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 6,
            "example": "2026-03-15T07:23:16.2571667Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all issued commands before (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 7,
            "example": "2026-04-14T07:23:16.2571667Z"
          },
          {
            "name": "order",
            "in": "query",
            "description": "Used to determine the order field. Valid values are \"daterequested\", \"hostname\", \"commandstate\", \"command\". Default value is \"daterequested\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 8,
            "example": "hostname"
          },
          {
            "name": "orderDirection",
            "in": "query",
            "description": "Used to sort the data. \"A\" for ascending, \"D\" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in descending order.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 9,
            "example": "A"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records being returned.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 10,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 11,
            "example": "4"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the executed commands.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCommandsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 2,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Commands": [
                    {
                      "DateRequested": "2026-04-14T01:23:16.2571667Z",
                      "EndpointId": "56d27598-ed1e-4ba9-bd11-37917739bd9c",
                      "HostName": "MyComputer1",
                      "StartDate": "2026-04-14T04:23:16.2571667Z",
                      "EndDate": "2026-04-14T14:23:16.2571667Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 5
                    },
                    {
                      "DateRequested": "2026-04-14T00:23:16.2571667Z",
                      "EndpointId": "43e74680-520f-46c6-bfd6-b436fe28c3ba",
                      "HostName": "MyComputer2",
                      "StartDate": "2026-04-14T05:23:16.2571667Z",
                      "EndDate": "2026-04-14T15:23:16.2571667Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 4
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/commands"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/commands?command=scan"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/commands?commandState=3"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/commands?order=command&orderDirection=A"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/commands?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/{endpointId}/commands": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets a list of executed commands on a given endpoint.",
        "description": "Only returns the executed commands from the past 6 months.",
        "operationId": "ConsoleGSM_GetEndpointCommands",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "FAC6-9F7D-13FC-4264-93EA"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "6c3967df-a98c-4285-adcc-e8847f982ceb"
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The endpoint identifier to get the executed commands for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "b77161fc-3563-4cce-811e-6d14efe70eff"
          },
          {
            "name": "command",
            "in": "query",
            "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "cleanup"
          },
          {
            "name": "commandState",
            "in": "query",
            "description": "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "3"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all issued commands after (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 6,
            "example": "2026-03-15T07:23:16.2727889Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all issued commands before (or at) the given date.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 7,
            "example": "2026-04-14T07:23:16.2727889Z"
          },
          {
            "name": "order",
            "in": "query",
            "description": "Used to determine the order field. Valid values are \"daterequested\", \"hostname\", \"commandstate\", \"command\". Default value is \"daterequested\".",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 8,
            "example": "hostname"
          },
          {
            "name": "orderDirection",
            "in": "query",
            "description": "Used to sort the data. \"A\" for ascending, \"D\" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in descending order.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 9,
            "example": "D"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records being returned.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 10,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 11,
            "example": "39"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the executed commands.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCommandsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalAvailable": 2,
                  "PageNr": 1,
                  "PageSize": 50,
                  "Commands": [
                    {
                      "DateRequested": "2026-04-14T01:23:16.2727889Z",
                      "EndpointId": "ffada2b5-4a39-4769-8421-ac811ecd2d59",
                      "HostName": "MyComputer1",
                      "StartDate": "2026-04-14T04:23:16.2727889Z",
                      "EndDate": "2026-04-14T14:23:16.2727889Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 3
                    },
                    {
                      "DateRequested": "2026-04-14T00:23:16.2727889Z",
                      "EndpointId": "9c3cd424-f7a4-4a12-ba83-8ec31a9b4427",
                      "HostName": "MyComputer2",
                      "StartDate": "2026-04-14T05:23:16.2727889Z",
                      "EndDate": "2026-04-14T15:23:16.2727889Z",
                      "Command": "scan",
                      "Parameters": null,
                      "CommandState": 4
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/commands"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/commands?command=scan"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/commands?commandState=3"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/commands?order=command&orderDirection=A"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/commands?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/commands": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Issues an agent command to a list of endpoints, or to all endpoints on a site.",
        "operationId": "ConsoleGSM_SetCommand",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "02D0-DE48-2CE9-44A0-9D24"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "04abe808-3e43-404c-a59b-c2eda2c8d764"
          }
        ],
        "requestBody": {
          "x-name": "commandInformation",
          "description": "Additional information for issuing an agent command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetCommandRequestModel"
                  }
                ]
              },
              "example": {
                "EndpointsList": "f6cd2787-b297-4795-8cc7-9f3a44d82767,9d493271-4f9a-48fe-9f01-3e8c8cb9eec3",
                "Command": "changekeycode",
                "Parameters": "3D33-908E-88EC-4473-9F77"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/02D0-DE48-2CE9-44A0-9D24/sites/04abe808-3e43-404c-a59b-c2eda2c8d764/endpoints/commands"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/endpoints/commands": {
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Issues an agent command to a group of endpoints.",
        "operationId": "ConsoleGSM_SetCommandGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "DD52-B6C6-08BD-40A3-AD53"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "524909ad-5f89-4bcd-8305-ae417ae24fb6"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "708dc5b6-eb2c-412c-b26d-d6740eba9b58"
          }
        ],
        "requestBody": {
          "x-name": "commandInformation",
          "description": "Additional information for issuing an agent command.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SetCommandGroupRequestModel"
                  }
                ]
              },
              "example": {
                "Command": "changekeycode",
                "Parameters": "25A9-CCEF-8509-430C-8D09"
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/DD52-B6C6-08BD-40A3-AD53/sites/524909ad-5f89-4bcd-8305-ae417ae24fb6/groups/708dc5b6-eb2c-412c-b26d-d6740eba9b58/endpoints/commands"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/threathistory": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets threat history information for endpoints on a GSM site.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 3 calendar months.",
        "operationId": "ConsoleGSM_GetThreatHistorySite",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "3E17-F8D2-A96E-4638-B568"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "7b258729-b4bd-4100-89fd-7abe5fe7612f"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:16.3978063Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:16.3978063Z"
          },
          {
            "name": "returnedInfo",
            "in": "query",
            "description": "A comma separated list of classes of information to be provided in response data. Currently only the \"ExtendedInfo\" class is supported as a value. If omitted, general threat record information is returned only.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "ExtendedInfo"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 6,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 7,
            "example": "29"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about matching threat history records.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetThreatHistoryResponseModel"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "PageNr": 1,
                  "PageSize": 50,
                  "StartDate": "2026-01-14T07:23:16.3978063Z",
                  "EndDate": "2026-04-14T07:23:16.3978063Z",
                  "ThreatRecords": [
                    {
                      "EndpointId": "5c5efcf9-62e3-40a9-8f22-eeced8cd30db",
                      "MachineId": "69A1BA499A1B4A9497C4AF5FBFDD60AC:::DBA326592C784F9FA4A90DD9AC656957:::DBA326592C784F9FA4A90DD9AC656957",
                      "HostName": "MyComputer1",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user1\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.3978063Z",
                      "LastSeen": "2026-04-12T07:23:16.3978063Z",
                      "ExtendedInfo": {
                        "DwellTime": 482,
                        "FileMD5": "4F2519B6E6B646728F1B0FBBCCD838BF",
                        "FileSize": 68,
                        "UserName": "User1",
                        "IPAddress": "95.181.207.50",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    },
                    {
                      "EndpointId": "6de157e1-2ec0-4db1-8d23-36d6bd669903",
                      "MachineId": "2CCBA40C788C46078282068BDC6C0C75:::121200A5E7934AA996F478B9DD650B11:::121200A5E7934AA996F478B9DD650B11",
                      "HostName": "MyComputer2",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user2\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.3978063Z",
                      "LastSeen": "2026-04-12T07:23:16.3978063Z",
                      "ExtendedInfo": {
                        "DwellTime": 387,
                        "FileMD5": "B8A354A12BA84D26ACB175277409102F",
                        "FileSize": 68,
                        "UserName": "User2",
                        "IPAddress": "95.214.149.182",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/threathistory"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/threathistory?returnedInfo=ExtendedInfo"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/threathistory?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/threathistory": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets threat history information for endpoints on a group.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 3 calendar months.",
        "operationId": "ConsoleGSM_GetThreatHistoryGroup",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1037-91E1-C53C-498F-AAB4"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "0ff12b8c-f46e-4bd3-9d3d-87614c01498a"
          },
          {
            "name": "groupId",
            "in": "path",
            "required": true,
            "description": "The group identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "9db1775f-c117-49f9-835b-27e24df48e0f"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-03-15T07:23:16.4290593Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 5,
            "example": "2026-04-14T07:23:16.4290593Z"
          },
          {
            "name": "returnedInfo",
            "in": "query",
            "description": "A comma separated list of classes of information to be provided in response data. Currently only the \"ExtendedInfo\" class is supported as a value. If omitted, general threat record information is returned only.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 6,
            "example": "ExtendedInfo"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 7,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 8,
            "example": "27"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about matching threat history records.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetThreatHistoryResponseModel"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "PageNr": 1,
                  "PageSize": 50,
                  "StartDate": "2026-01-14T07:23:16.4290593Z",
                  "EndDate": "2026-04-14T07:23:16.4290593Z",
                  "ThreatRecords": [
                    {
                      "EndpointId": "ebf29bc6-6524-4527-869f-0d769dbd3697",
                      "MachineId": "AC1F9086BD9647CDA378433E531864A8:::B96F64BAE8FA4FA2B7AC2AC6C704BD7A:::B96F64BAE8FA4FA2B7AC2AC6C704BD7A",
                      "HostName": "MyComputer1",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user1\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.4290593Z",
                      "LastSeen": "2026-04-12T07:23:16.4290593Z",
                      "ExtendedInfo": {
                        "DwellTime": 292,
                        "FileMD5": "E9B54F3A1070457CAEE36958501EB74E",
                        "FileSize": 68,
                        "UserName": "User1",
                        "IPAddress": "95.154.112.106",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    },
                    {
                      "EndpointId": "e8242b5d-0936-403d-b84d-6e93922ec647",
                      "MachineId": "412EF41B0A8E4BE3943312E7273DBAA8:::5158667F3CE945CABCCC41EC1DCF5FA5:::5158667F3CE945CABCCC41EC1DCF5FA5",
                      "HostName": "MyComputer2",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user2\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.4290593Z",
                      "LastSeen": "2026-04-12T07:23:16.4290593Z",
                      "ExtendedInfo": {
                        "DwellTime": 204,
                        "FileMD5": "9B7E6237101F42DCB328FFEB4B1CA515",
                        "FileSize": 68,
                        "UserName": "User2",
                        "IPAddress": "95.181.158.196",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/threathistory"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/threathistory?returnedInfo=ExtendedInfo"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/threathistory?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/{endpointId}/threathistory": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Gets threat history information for a given endpoint.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 3 calendar months.",
        "operationId": "ConsoleGSM_GetThreatHistoryEndpoint",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "FC3B-525A-345C-4143-8E45"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "c50ae672-0c13-4e3b-9a26-c9282abe8fc6"
          },
          {
            "name": "endpointId",
            "in": "path",
            "required": true,
            "description": "The endpoint identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "30026fdd-e8cb-46c4-9519-c404203f7dd9"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-03-15T07:23:16.4603142Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 5,
            "example": "2026-04-14T07:23:16.4603142Z"
          },
          {
            "name": "returnedInfo",
            "in": "query",
            "description": "A comma separated list of classes of information to be provided in response data. Currently only the \"ExtendedInfo\" class is supported as a value. If omitted, general threat record information is returned only.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 6,
            "example": "ExtendedInfo"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50,
              "nullable": false
            },
            "x-position": 7,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 8,
            "example": "6"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about matching threat history records.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetThreatHistoryResponseModel"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "PageNr": 1,
                  "PageSize": 50,
                  "StartDate": "2026-01-14T07:23:16.4446869Z",
                  "EndDate": "2026-04-14T07:23:16.4446869Z",
                  "ThreatRecords": [
                    {
                      "EndpointId": "69d1c3f9-bfd9-4e06-8e1b-cbee7ecca59f",
                      "MachineId": "346A41D2EF2C42A9914A8B7D48CF2453:::2471D9C3E7514039AA38C9DC9F337D8F:::2471D9C3E7514039AA38C9DC9F337D8F",
                      "HostName": "MyComputer1",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user1\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.4446869Z",
                      "LastSeen": "2026-04-12T07:23:16.4446869Z",
                      "ExtendedInfo": {
                        "DwellTime": 437,
                        "FileMD5": "A10CFD97A93144C69813138F73CE6BAE",
                        "FileSize": 68,
                        "UserName": "User1",
                        "IPAddress": "95.129.29.238",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    },
                    {
                      "EndpointId": "22268d83-5a68-4b41-8dfa-1cc2d777a550",
                      "MachineId": "F30C196055DB489C8B10EBF16F6B2E66:::2B41AEDE48A74734A8C2A89739A04402:::2B41AEDE48A74734A8C2A89739A04402",
                      "HostName": "MyComputer2",
                      "FileName": "eicar.com",
                      "PathName": "?:\\users\\user2\\desktop",
                      "MalwareGroup": "Anti-Malware Testfile",
                      "FirstSeen": "2026-04-01T07:23:16.4446869Z",
                      "LastSeen": "2026-04-12T07:23:16.4446869Z",
                      "ExtendedInfo": {
                        "DwellTime": 9,
                        "FileMD5": "182849832AE74BDDAE56BD2102FD8DA9",
                        "FileSize": 68,
                        "UserName": "User2",
                        "IPAddress": "95.133.227.4",
                        "Determination": "B",
                        "FileVendor": "",
                        "FileProduct": "",
                        "FileVersion": ""
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/threathistory"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/threathistory?returnedInfo=ExtendedInfo"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints/1ffe613e-b23c-4eb8-82c7-623502a83e6b/threathistory?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/blockedurls/counts": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves per-day summary counts of the number of recorded URL actions on endpoints in the given site.",
        "description": "**NOTE:** Blocked URLs data is generally available for as far as 90 days in the past. However, the maximum allowed time range between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetSiteBlockedUrlsCounts",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E430-D5A1-C5F9-4F60-A2C4"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "fa8cef0f-d4e9-4906-bb9c-287cabc5d74f"
          },
          {
            "name": "includeDeactivated",
            "in": "query",
            "description": "Value indicating whether URL actions of endpoints that are currently deactivated should be included in the counts.\n\nDefault is false",
            "schema": {
              "type": "boolean",
              "nullable": false
            }
          },
          {
            "name": "includeHidden",
            "in": "query",
            "description": "Value indicating whether URL actions of endpoints that are currently hidden should be included in the counts.\n\nDefault is false",
            "schema": {
              "type": "boolean",
              "nullable": false
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date of the time range for which data is queried. \n**Note: **The earliest count value returned is for the first FULL day following the date specified in *startDate*. For example, passing \"2021-02-15Z\" or \"2021-02-15T00:00Z\" will include the count for the 15th of February 2021. When the start date is \"2021-02-15T12:45Z\", returned counts will start with February 16th.\n\nDefault value is *endDate* minus 7 days.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-03-15T07:23:16.5228457Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end date of the time range for which data is queried. \n**Note: **The value returned for the last day in the time range is the number of URL actions counted for that day, up to the time-of-day specified in *endDate*.\n\nDefault value is the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-04-14T07:23:16.5228457Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary information about the number of recorded URL actions.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetBlockedURLsCountsResponse"
                    }
                  ]
                },
                "example": {
                  "IncludeDeactivated": false,
                  "IncludeHidden": false,
                  "StartDate": "2026-04-12T07:23:16.5228457Z",
                  "EndDate": "2026-04-14T07:23:16.5228457Z",
                  "DatedCounts": [
                    {
                      "Date": "2026-04-14T00:00:00Z",
                      "Count": 42
                    },
                    {
                      "Date": "2026-04-13T00:00:00Z",
                      "Count": 58
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/counts"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/counts?startDate=2020-09-01&endDate=2020-09-30"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/blockedurls/data": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Retrieves a list of recorded URL actions on endpoints in the given site.",
        "description": "**NOTE:** Blocked URLs data is generally available for as far as 90 days in the past. However, the maximum allowed time range between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetSiteBlockedUrlsData",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "4640-1E9C-8A11-45D7-813D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "92421004-e108-4299-8255-86bc3532eede"
          },
          {
            "name": "includeDeactivated",
            "in": "query",
            "description": "Value indicating whether URL actions of endpoints that are currently deactivated should be included in the response.\n\nDefault is false",
            "schema": {
              "type": "boolean",
              "nullable": false
            }
          },
          {
            "name": "includeHidden",
            "in": "query",
            "description": "Value indicating whether URL actions of endpoints that are currently hidden should be included in the response.\n\nDefault is false",
            "schema": {
              "type": "boolean",
              "nullable": false
            }
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "The number of the page of data which should be returned.\n\nDefault value is 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "example": "33"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The number of data entries which should be returned for the page. Valid values are between 50 and 1000.\n\nDefault value is 100",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "example": "100"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The start date of the time range for which data is queried.\n\nDefault value is *endDate* minus 24 hours",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-03-15T07:23:16.5853241Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The end date of the time range for which data is queried.\n\nDefault value is the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-04-14T07:23:16.5853241Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Detail information about recorded URL actions.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetBlockedURLsDataResponse"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "IncludeDeactivated": false,
                  "IncludeHidden": false,
                  "PageNr": 1,
                  "PageSize": 100,
                  "StartDate": "2026-04-12T07:23:16.5696968Z",
                  "EndDate": "2026-04-13T07:23:16.5696968Z",
                  "BlockedURLs": [
                    {
                      "BlockedUrl": "https://www.suspicious.com/page0.html",
                      "BlockReasonId": 57,
                      "BlockReasonName": "Phishing and Other Frauds",
                      "BCRI": null,
                      "Timestamp": "2026-04-13T07:21:37.5696968Z",
                      "ActionTaken": "WHITELIST",
                      "HostName": "Computer0",
                      "EndpointId": "b49d7125-721a-4b67-aaaa-52f1452aae2a"
                    },
                    {
                      "BlockedUrl": "https://www.malicious.com/page0.html",
                      "BlockReasonId": 57,
                      "BlockReasonName": "Phishing and Other Frauds",
                      "BCRI": 9,
                      "Timestamp": "2026-04-13T07:20:39.5696968Z",
                      "ActionTaken": "BLOCK",
                      "HostName": "Computer0",
                      "EndpointId": "f8e106a7-1849-4b5d-87e1-a6d84b228622"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/data"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/data?startDate=2020-09-01&endDate=2020-09-30&pageSize=100&pageNr=3"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/categories": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a list of available DNS Protection categories and their respective identifiers.",
        "operationId": "ConsoleGSM_GetDNSPCategories",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "0857-8D07-9F19-4EDE-9F0C"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS Protection categories.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPCategoriesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Categories": [
                    {
                      "Id": 1,
                      "Name": "Real Estate",
                      "Description": "Information on renting, buying, or selling real estate or properties.  Tips on buying or selling a home.  Real estate agents, rental or relocation services, and property improvement."
                    },
                    {
                      "Id": 2,
                      "Name": "Computer and Internet Security",
                      "Description": "Computer/Internet security, security discussion groups."
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/0857-8D07-9F19-4EDE-9F0C/dnsp/categories"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/policies": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a list of available DNS Protection policies and their respective identifiers for a GSM parent keycode.",
        "operationId": "ConsoleGSM_GetDNSPGlobalPolicies",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "8022-61A1-7918-4A16-893F"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS Protection policies.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPGlobalPoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "Policies": [
                    {
                      "Id": "4de709eb-6a97-49aa-8733-7d70d06e5393",
                      "Name": "Test Policy 1",
                      "BlockedCategories": [
                        50,
                        57,
                        58,
                        59,
                        60,
                        68
                      ],
                      "Editable": true,
                      "CreatedDate": "2025-11-14T07:23:16.6322029Z",
                      "ModifiedDate": "2025-11-14T07:23:16.6322029Z"
                    },
                    {
                      "Id": "b3339708-377c-4752-b55d-d5da5b2faf1f",
                      "Name": "Test Policy 2",
                      "BlockedCategories": [
                        51,
                        58,
                        59,
                        60,
                        61,
                        69
                      ],
                      "Editable": true,
                      "CreatedDate": "2025-06-14T07:23:16.6322029Z",
                      "ModifiedDate": "2025-06-14T07:23:16.6322029Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/8022-61A1-7918-4A16-893F/dnsp/policies"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/policies/{policyId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns detailed information for one specified DNS Protection policy.",
        "operationId": "ConsoleGSM_GetDNSPGlobalPolicy",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E5B2-2B18-D805-4099-BA20"
          },
          {
            "name": "policyId",
            "in": "path",
            "required": true,
            "description": "The identifier of the policy to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "91b2872b-1eb8-45bf-b43b-972b97a05530"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a DNS Protection policy.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPGlobalPoliciesResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "Policies": [
                    {
                      "Id": "ca2e4b9f-b3dd-4045-abc6-7beb6e1c35cb",
                      "Name": "Test Policy 1",
                      "BlockedCategories": [
                        50,
                        57,
                        58,
                        59,
                        60,
                        68
                      ],
                      "Editable": true,
                      "CreatedDate": "2025-11-14T07:23:16.6478278Z",
                      "ModifiedDate": "2025-11-14T07:23:16.6478278Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/E5B2-2B18-D805-4099-BA20/dnsp/policies/91b2872b-1eb8-45bf-b43b-972b97a05530"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/mappings": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns the defined mappings of DNS Protection Policies for a GSM parent keycode, filtered by the given site.",
        "operationId": "ConsoleGSM_GetDNSPPolicyMappings",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "062C-8DF2-E892-4D97-A920"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "7198c68f-5561-4c9c-8cca-d0b87f6b74ed"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS Protection policy mappings.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPPolicyMappingsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 2,
                  "PolicyMappings": [
                    {
                      "Id": "7880cdfa-7aff-4c61-8400-08fc5597cead",
                      "Type": "StaticIP",
                      "Value": "95.76.30.143",
                      "DNSPolicyId": "0d6cdc2c-baeb-4548-8e01-23a5cc4bfe09"
                    },
                    {
                      "Id": "efbb039e-871c-44ba-9a6b-0a53d98be5f4",
                      "Type": "StaticIP",
                      "Value": "95.224.193.212",
                      "DNSPolicyId": "e27dec07-d15e-423b-b5b0-5c5892039172"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/062C-8DF2-E892-4D97-A920/sites/7198c68f-5561-4c9c-8cca-d0b87f6b74ed/dnsp/mappings"
          }
        ]
      },
      "post": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Creates a mapping for a DNS Protection policy for a GSM site.",
        "operationId": "ConsoleGSM_CreateDNSPPolicyMapping",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "14A2-E8D3-57F5-4726-9773"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site to create the mapping for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "a442274e-d9a0-4ba9-a09a-c565f5f6709a"
          }
        ],
        "requestBody": {
          "x-name": "mappingInformation",
          "description": "Additional information for creating the policy mapping.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateDNSPPolicyMappingRequestModel"
                  }
                ]
              },
              "example": {
                "Type": "StaticIP",
                "Value": "95.207.142.107",
                "DNSPolicyId": "7adf3cae-f72c-4079-a136-227bdcad38fc"
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Information about the created policy mapping.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateDNSPPolicyMappingResponseModel"
                    }
                  ]
                },
                "example": {
                  "Id": "59f90bc2-fd91-4809-a906-abb0e31e3ba6",
                  "Type": "StaticIP",
                  "Value": "95.103.194.250",
                  "DNSPolicyId": "e9588dc9-1a51-4439-900a-2c490d4ad0fe"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/14A2-E8D3-57F5-4726-9773/sites/a442274e-d9a0-4ba9-a09a-c565f5f6709a/dnsp/mappings"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/mappings/{mappingId}": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns detailed information for a specified mapping of a DNS Protection policy.",
        "operationId": "ConsoleGSM_GetDNSPPolicyMapping",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "CFD9-4B0E-FB0E-439E-9A2E"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "7d3d1b23-f54a-47e4-9771-9ff675804f6b"
          },
          {
            "name": "mappingId",
            "in": "path",
            "required": true,
            "description": "The identifier of the policy mapping to query information for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "5abc7ee2-e815-4072-96c7-b4ab2b6c4f11"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a DNS Protection policy mapping.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPPolicyMappingsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 1,
                  "PolicyMappings": [
                    {
                      "Id": "2d8baa88-da39-4215-8705-3cb0feb67db8",
                      "Type": "StaticIP",
                      "Value": "95.81.8.66",
                      "DNSPolicyId": "736857f7-1ef1-41ea-a937-b1b216071880"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/CFD9-4B0E-FB0E-439E-9A2E/sites/7d3d1b23-f54a-47e4-9771-9ff675804f6b/dnsp/mappings/5abc7ee2-e815-4072-96c7-b4ab2b6c4f11"
          }
        ]
      },
      "put": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Edits a specified mapping of a DNS Protection policy.",
        "operationId": "ConsoleGSM_EditDNSPPolicyMapping",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "332C-0966-BB27-4B9C-970C"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site for which the mapping should be modified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "d09eaa09-4dc8-494f-8f90-bbd2d6ad27c0"
          },
          {
            "name": "mappingId",
            "in": "path",
            "required": true,
            "description": "The identifier of the mapping.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "f6504263-f860-4bf5-a3dc-eadf9022b86d"
          }
        ],
        "requestBody": {
          "x-name": "mappingInformation",
          "description": "Additional information for editing the policy mapping.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditDNSPPolicyMappingRequestModel"
                  }
                ]
              },
              "example": {
                "Type": "StaticIP",
                "Value": "10.23.91.253",
                "DNSPolicyId": "6e93ddf8-672a-4a03-95ef-b3220390eba4"
              }
            }
          },
          "required": true,
          "x-position": 4
        },
        "responses": {
          "200": {
            "description": "Information about the edited policy mapping.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EditDNSPPolicyMappingResponseModel"
                    }
                  ]
                },
                "example": {
                  "Id": "1093817a-f1bd-4610-8316-9a0d938a596c",
                  "Type": "StaticIP",
                  "Value": "95.85.247.190",
                  "DNSPolicyId": "aac518d4-95b1-4101-99b0-9b80c86b6f6f"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/332C-0966-BB27-4B9C-970C/sites/d09eaa09-4dc8-494f-8f90-bbd2d6ad27c0/dnsp/mappings/f6504263-f860-4bf5-a3dc-eadf9022b86d"
          }
        ]
      },
      "delete": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Deletes a specified mapping of a DNS Protection policy.",
        "operationId": "ConsoleGSM_DeleteDNSPPolicyMapping",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "FAFA-A001-D2D6-497D-B22E"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The identifier of the site for which the mapping should be deleted.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "0deed189-80f7-47a0-9fbe-7bc7f75f83a4"
          },
          {
            "name": "mappingId",
            "in": "path",
            "required": true,
            "description": "The identifier of the mapping to be deleted.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 3,
            "example": "8c49f18e-2086-407d-aa4a-879f27df20ae"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/FAFA-A001-D2D6-497D-B22E/sites/0deed189-80f7-47a0-9fbe-7bc7f75f83a4/dnsp/mappings/8c49f18e-2086-407d-aa4a-879f27df20ae"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/blockreasons": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a list of available DNS Protection block reasons and their respective identifiers.",
        "operationId": "ConsoleGSM_GetDNSPBlockReasons",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "312C-6774-3B31-4F24-8096"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS Protection block reasons.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPBlockReasonsResponseModel"
                    }
                  ]
                },
                "example": {
                  "TotalCount": 5,
                  "BlockReasons": [
                    {
                      "Id": 0,
                      "Name": "Allowed",
                      "Description": "This request for domain is allowed based on the policy settings of your organization"
                    },
                    {
                      "Id": 1,
                      "Name": "Override - Block",
                      "Description": "This request for domain is blocked based on an override set for your organization"
                    },
                    {
                      "Id": 2,
                      "Name": "Blocked Category",
                      "Description": "This request for domain is blocked based on Category blocking set for your organization"
                    },
                    {
                      "Id": 3,
                      "Name": "Block By Reputation",
                      "Description": "This request for domain is blocked based on reputation score"
                    },
                    {
                      "Id": 4,
                      "Name": "Override - Allow",
                      "Description": "This request for domain is allowed based on an override set for your organization"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/312C-6774-3B31-4F24-8096/dnsp/blockreasons"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/blockedtraffic": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns information about DNS requests that were blocked by the DNS Protection service.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.\n\n**WARNING:** The maximum number of returned traffic records is limited to ensure that requests can complete in reasonable time. The amount of data accumulating over an increasing timespan can become very large, reaching into the millions of records for the maximum allowed time interval of 30 days. When querying blocked traffic for high-use sites, it is advised to query more regularly for shorter periods of time, instead of trying to pull the entire data once per month only.",
        "operationId": "ConsoleGSM_GetDNSPBlockedTraffic",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "F3DE-BE0A-CDFD-4FDA-8C65"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "dd9dcb2c-9227-47c4-b2b8-f0aec27a2d86"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns blocked requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:16.8509673Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns blocked requests before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:16.8509673Z"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the maximum number of records to return. Valid values are between 100 and 10000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000,
              "nullable": false
            },
            "x-position": 5,
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1,
              "nullable": false
            },
            "x-position": 6,
            "example": "32"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS requests that were blocked by the DNS Protection service.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPBlockedTrafficResponseModel"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "PageNr": 1,
                  "PageSize": 1000,
                  "StartDate": "2026-04-13T07:23:16.8509673Z",
                  "EndDate": "2026-04-14T07:23:16.8509673Z",
                  "SiteId": "d18ae334-a633-461a-907e-20039c11b18d",
                  "SiteName": "Site 1",
                  "BlockedRequests": [
                    {
                      "Timestamp": "2026-04-14T07:22:16.8509673Z",
                      "HostName": "MyComputer1",
                      "UserName": "User1",
                      "AgentVersion": "1.2.1.28",
                      "SourceIp": "95.49.10.177",
                      "Domain": "www.blocked-domain1.com",
                      "DomainIps": [
                        "95.153.237.138",
                        "95.197.176.24"
                      ],
                      "CategoryIds": [
                        50,
                        57
                      ],
                      "BlockReasonId": 4
                    },
                    {
                      "Timestamp": "2026-04-14T07:21:16.8509673Z",
                      "HostName": "MyComputer2",
                      "UserName": "User2",
                      "AgentVersion": "1.2.1.28",
                      "SourceIp": "95.32.159.244",
                      "Domain": "www.blocked-domain2.com",
                      "DomainIps": [
                        "95.95.23.49",
                        "95.15.68.54"
                      ],
                      "CategoryIds": [
                        51,
                        58
                      ],
                      "BlockReasonId": 0
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/F3DE-BE0A-CDFD-4FDA-8C65/sites/dd9dcb2c-9227-47c4-b2b8-f0aec27a2d86/dnsp/blockedtraffic"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficbycategory": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns information about DNS requests that were seen by the DNS Protection service for one or more specified categories.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.\n\n**WARNING:** The maximum number of returned traffic records is limited to ensure that requests can complete in reasonable time. The amount of data accumulating over an increasing timespan can become very large, reaching into the millions of records for the maximum allowed time interval of 30 days. When querying traffic by category for high-use sites, it is advised to query more regularly for shorter periods of time, instead of trying to pull the entire data once per month only.",
        "operationId": "ConsoleGSM_GetDNSPTrafficByCategory",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "17DC-3076-80FA-4678-8F10"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "ed87916b-61d1-4d21-ab26-336f9d62eb3a"
          },
          {
            "name": "categories",
            "in": "query",
            "required": true,
            "description": "A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). This query parameter is **mandatory**.\n\nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "example": "34,55,47"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-03-15T07:23:16.9134788Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns requests before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "example": "2026-04-14T07:23:16.9134788Z"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Specifies the maximum number of records to return. Valid values are between 100 and 10000.\n\nDefault value is 1000",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "example": "100"
          },
          {
            "name": "pageNr",
            "in": "query",
            "description": "Specifies the page number. Can be used to retrieve the next batch of records.\n\nDefault value is 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "example": "13"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about DNS requests for a set of DNS Protection categories.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficByCategoryResponseModel"
                    }
                  ]
                },
                "example": {
                  "MoreAvailable": false,
                  "PageNr": 1,
                  "PageSize": 1000,
                  "StartDate": "2026-04-13T07:23:16.9134788Z",
                  "EndDate": "2026-04-14T07:23:16.9134788Z",
                  "SiteId": "6ce2b911-baf4-4ce8-a870-c642134ccd4a",
                  "SiteName": "Site 1",
                  "Requests": [
                    {
                      "Timestamp": "2026-04-14T07:22:16.9134788Z",
                      "HostName": "MyComputer1",
                      "UserName": "User1",
                      "AgentVersion": "1.3.0.197",
                      "SourceIp": "95.216.197.186",
                      "Domain": "www.category-domain1.com",
                      "DomainIps": [
                        "95.10.147.66",
                        "95.179.147.178"
                      ],
                      "CategoryIds": [
                        34,
                        42
                      ],
                      "ActionTaken": 1
                    },
                    {
                      "Timestamp": "2026-04-14T07:21:16.9134788Z",
                      "HostName": "MyComputer2",
                      "UserName": "User2",
                      "AgentVersion": "1.3.0.197",
                      "SourceIp": "95.201.10.66",
                      "Domain": "www.category-domain2.com",
                      "DomainIps": [
                        "95.163.243.210",
                        "95.109.225.1"
                      ],
                      "CategoryIds": [
                        7,
                        81
                      ],
                      "ActionTaken": 0
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/17DC-3076-80FA-4678-8F10/sites/ed87916b-61d1-4d21-ab26-336f9d62eb3a/dnsp/trafficbycategory"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/trafficsummary": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and risky DNS requests) for each site under a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficSummary",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9FB3-4A5F-8C72-46AA-AD5C"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-03-15T07:23:16.94473Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-14T07:23:16.94473Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary information for GSM sites.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficSummaryResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:16.94473Z",
                  "EndDate": "2026-04-14T07:23:16.94473Z",
                  "Sites": [
                    {
                      "SiteId": "3c4bb842-e9e8-42e8-a624-b0a98f62efa1",
                      "SiteName": "Site 1",
                      "DNSRequests": 11170,
                      "BlockedDNSRequests": 137,
                      "RiskyDNSRequests": 161
                    },
                    {
                      "SiteId": "6a36f3c2-2e8f-4400-816f-131c22507640",
                      "SiteName": "Site 2",
                      "DNSRequests": 10951,
                      "BlockedDNSRequests": 125,
                      "RiskyDNSRequests": 169
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/9FB3-4A5F-8C72-46AA-AD5C/dnsp/trafficsummary"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficsummary": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and risky DNS requests) for a specific site under a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficSummary2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "1252-8267-8B20-4D4B-8CB9"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The GSM site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "d1877232-9c75-43d7-b9af-4550969a05c7"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:16.9603558Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:16.9603558Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary information for GSM sites.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficSummaryForSiteResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:16.9603558Z",
                  "EndDate": "2026-04-14T07:23:16.9603558Z",
                  "Sites": [
                    {
                      "SiteId": "80cb16db-f167-423a-b47b-e5b3d22c6573",
                      "SiteName": "Site 1",
                      "DNSRequests": 14178,
                      "BlockedDNSRequests": 189,
                      "RiskyDNSRequests": 158
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/1252-8267-8B20-4D4B-8CB9/sites/d1877232-9c75-43d7-b9af-4550969a05c7/dnsp/trafficsummary"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/trafficsummary/categoryreport": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and allowed DNS requests) grouped by categories for a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficCategorySummary",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "EFB5-A492-80F2-4312-9B04"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-03-15T07:23:16.9916312Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-14T07:23:16.9916312Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary category report for a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficCategorySummaryResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:16.9916312Z",
                  "EndDate": "2026-04-14T07:23:16.9916312Z",
                  "Records": [
                    {
                      "CategoryId": 2,
                      "DNSRequests": 13688,
                      "AllowedDNSRequests": 9811,
                      "BlockedDNSRequests": 3877
                    },
                    {
                      "CategoryId": 3,
                      "DNSRequests": 11472,
                      "AllowedDNSRequests": 9044,
                      "BlockedDNSRequests": 2428
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/EFB5-A492-80F2-4312-9B04/dnsp/trafficsummary/categoryreport"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficsummary/categoryreport": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and allowed DNS requests) grouped by categories for a specific site under a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficCategorySummary2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "54BE-CD93-63FD-4EF4-8B3E"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The GSM site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "e8b289f9-580b-445a-b107-c9d90fa13c1c"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:17.0072695Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:17.0072695Z"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary category report for a given GSM console.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficCategorySummaryForSiteResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:17.0072695Z",
                  "EndDate": "2026-04-14T07:23:17.0072695Z",
                  "Records": [
                    {
                      "CategoryId": 2,
                      "DNSRequests": 14703,
                      "AllowedDNSRequests": 13136,
                      "BlockedDNSRequests": 1567
                    },
                    {
                      "CategoryId": 3,
                      "DNSRequests": 11824,
                      "AllowedDNSRequests": 8136,
                      "BlockedDNSRequests": 3688
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/54BE-CD93-63FD-4EF4-8B3E/sites/e8b289f9-580b-445a-b107-c9d90fa13c1c/dnsp/trafficsummary/categoryreport"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/dnsp/trafficsummary/categoryuserreport": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of blocked DNS requests, allowed DNS requests, and user name) grouped by categories and users for a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficCategoryUserSummary",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "A43B-F297-A385-4F4E-93A5"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 2,
            "example": "2026-03-15T07:23:17.0541187Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-04-14T07:23:17.0541187Z"
          },
          {
            "name": "categories",
            "in": "query",
            "description": "A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers. If omitted, defaults to all categories.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "47,31,81"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary category user report for a specific GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:17.0541187Z",
                  "EndDate": "2026-04-14T07:23:17.0541187Z",
                  "Records": [
                    {
                      "CategoryId": 2,
                      "Users": [
                        {
                          "UserName": "User1",
                          "AllowedDNSRequests": 13074,
                          "BlockedDNSRequests": 1182
                        },
                        {
                          "UserName": "User2",
                          "AllowedDNSRequests": 12828,
                          "BlockedDNSRequests": 3182
                        }
                      ]
                    },
                    {
                      "CategoryId": 3,
                      "Users": [
                        {
                          "UserName": "User1",
                          "AllowedDNSRequests": 10257,
                          "BlockedDNSRequests": 1691
                        },
                        {
                          "UserName": "User2",
                          "AllowedDNSRequests": 13016,
                          "BlockedDNSRequests": 1831
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/A43B-F297-A385-4F4E-93A5/dnsp/trafficsummary/categoryuserreport"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficsummary/categoryuserreport": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns a traffic summary (e.g. the number of blocked DNS requests, allowed DNS requests, and user name) grouped by categories and users for a specific site under a given GSM.",
        "description": "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days.",
        "operationId": "ConsoleGSM_GetDNSPTrafficCategoryUserSummary2",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "CE3D-269C-A7F6-45CA-B389"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The GSM site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "26525a52-8db9-42a2-ae37-d980486612cb"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:17.0697506Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:17.0697506Z"
          },
          {
            "name": "categories",
            "in": "query",
            "description": "A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers. If omitted, defaults to all categories.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 5,
            "example": "7,31,25"
          }
        ],
        "responses": {
          "200": {
            "description": "Traffic summary category user report for a specific GSM site.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryForSiteResponseModel"
                    }
                  ]
                },
                "example": {
                  "StartDate": "2026-04-13T07:23:17.0697506Z",
                  "EndDate": "2026-04-14T07:23:17.0697506Z",
                  "Records": [
                    {
                      "CategoryId": 2,
                      "Users": [
                        {
                          "UserName": "User1",
                          "AllowedDNSRequests": 11579,
                          "BlockedDNSRequests": 2552
                        },
                        {
                          "UserName": "User2",
                          "AllowedDNSRequests": 10681,
                          "BlockedDNSRequests": 2090
                        }
                      ]
                    },
                    {
                      "CategoryId": 3,
                      "Users": [
                        {
                          "UserName": "User1",
                          "AllowedDNSRequests": 11489,
                          "BlockedDNSRequests": 2262
                        },
                        {
                          "UserName": "User2",
                          "AllowedDNSRequests": 11639,
                          "BlockedDNSRequests": 2375
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/CE3D-269C-A7F6-45CA-B389/sites/26525a52-8db9-42a2-ae37-d980486612cb/dnsp/trafficsummary/categoryuserreport"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/wsat/campaigns/phishing/activity": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns information on activity seen for Webroot Security Awareness Training (WSAT) phishing campaigns associated to a given site.",
        "description": "**NOTE:** The *startDate* cannot be earlier than one year ago, and the timespan between *startDate* and *endDate* must not exceed 90 days.",
        "operationId": "ConsoleGSM_GetWSATPhishingCampaign",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "9BAD-8E3F-7BC6-411A-B36D"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The GSM site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "0e7e596d-8f3e-4821-988a-3a28b13ffb85"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 days.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:17.1214275Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:17.1214275Z"
          }
        ],
        "responses": {
          "200": {
            "description": "User activity information within the specified dates for matching phishing campaigns.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetWSATPhishingActivityResponseModel"
                    }
                  ]
                },
                "example": {
                  "CampaignType": "Phishing",
                  "StartDate": "2026-01-14T07:23:17.1214275Z",
                  "EndDate": "2026-02-14T07:23:17.1214275Z",
                  "Campaigns": [
                    {
                      "SiteId": "fe0aade9-1224-4a81-94d6-4af0beaf56b2",
                      "SiteName": "The WSAT Site",
                      "CampaignName": "Campaign Name 1",
                      "LaunchDate": "2026-02-12T07:23:17.1214275Z",
                      "TotalUsers": 2,
                      "TotalClicked": 2,
                      "TargetUsers": [
                        {
                          "Email": "email1@domain.com",
                          "Clicked": true
                        },
                        {
                          "Email": "email2@domain.com",
                          "Clicked": true
                        }
                      ]
                    },
                    {
                      "SiteId": "fe0aade9-1224-4a81-94d6-4af0beaf56b2",
                      "SiteName": "The WSAT Site",
                      "CampaignName": "Campaign Name 2",
                      "LaunchDate": "2026-02-10T07:23:17.1214275Z",
                      "TotalUsers": 2,
                      "TotalClicked": 2,
                      "TargetUsers": [
                        {
                          "Email": "email2@domain.com",
                          "Clicked": true
                        },
                        {
                          "Email": "email4@domain.com",
                          "Clicked": true
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/9BAD-8E3F-7BC6-411A-B36D/sites/0e7e596d-8f3e-4821-988a-3a28b13ffb85/wsat/campaigns/phishing/activity"
          }
        ]
      }
    },
    "/api/console/gsm/{gsmKey}/sites/{siteId}/wsat/campaigns/training/activity": {
      "get": {
        "tags": [
          "Console: Console GSM"
        ],
        "summary": "Returns information on activity seen for Webroot Security Awareness Training (WSAT) training campaigns associated to a given site.",
        "description": "**NOTE:** The *startDate* cannot be earlier than one year ago, and the timespan between *startDate* and *endDate* must not exceed 90 days.",
        "operationId": "ConsoleGSM_GetWSATTrainingCampaign",
        "parameters": [
          {
            "name": "gsmKey",
            "in": "path",
            "required": true,
            "description": "The GSM console keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "AAEB-1107-2789-4DFE-8D79"
          },
          {
            "name": "siteId",
            "in": "path",
            "required": true,
            "description": "The GSM site identifier.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "63d4bc3b-5e2a-49a4-9344-7b7809682efc"
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 Days.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 3,
            "example": "2026-03-15T07:23:17.1637659Z"
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.",
            "schema": {
              "type": "string",
              "format": "date-time",
              "nullable": false
            },
            "x-position": 4,
            "example": "2026-04-14T07:23:17.1637659Z"
          }
        ],
        "responses": {
          "200": {
            "description": "User activity information within the specified dates for matching training campaigns.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetWSATTrainingActivityResponseModel"
                    }
                  ]
                },
                "example": {
                  "CampaignType": "Training",
                  "StartDate": "2026-01-14T07:23:17.1637659Z",
                  "EndDate": "2026-02-14T07:23:17.1637659Z",
                  "Campaigns": [
                    {
                      "SiteId": "66254ae4-23dd-41d8-bfc4-1cc442bbbbbf",
                      "SiteName": "The WSAT Site",
                      "CampaignName": "Campaign Name 1",
                      "LaunchDate": "2026-02-12T07:23:17.1637659Z",
                      "TotalUsers": 2,
                      "TotalComplete": 2,
                      "TargetUsers": [
                        {
                          "Email": "email1@domain.com",
                          "Complete": true
                        },
                        {
                          "Email": "email2@domain.com",
                          "Complete": true
                        }
                      ]
                    },
                    {
                      "SiteId": "66254ae4-23dd-41d8-bfc4-1cc442bbbbbf",
                      "SiteName": "The WSAT Site",
                      "CampaignName": "Campaign Name 2",
                      "LaunchDate": "2026-02-10T07:23:17.1637659Z",
                      "TotalUsers": 2,
                      "TotalComplete": 2,
                      "TargetUsers": [
                        {
                          "Email": "email2@domain.com",
                          "Complete": true
                        },
                        {
                          "Email": "email4@domain.com",
                          "Complete": true
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Console.GSM"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/console/gsm/AAEB-1107-2789-4DFE-8D79/sites/63d4bc3b-5e2a-49a4-9344-7b7809682efc/wsat/campaigns/training/activity"
          }
        ]
      }
    },
    "/api/ecom/shop/carts": {
      "post": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates a new shopping cart. Carts act as a container for pending orders.",
        "operationId": "Shop_CreateCart",
        "requestBody": {
          "x-name": "request",
          "description": "Information about the cart to be created.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateCartRequestServiceModel"
                  }
                ]
              },
              "example": {
                "TypeOfOrder": "MSP",
                "Locale": "en_US",
                "ItemsByLicenseKey": null,
                "ItemsByAttributes": [
                  {
                    "LicenseSeats": 150,
                    "LicenseCategoryName": "SAEP",
                    "Years": "1",
                    "LicenseKeycodeTypeId": 3,
                    "ItemHierarchyId": 1,
                    "ExpirationDate": null,
                    "VendorOrderItemCode": null,
                    "CartItemBundleId": 1,
                    "LicenseAttributeValue": 110,
                    "UsagePricingModelId": null,
                    "VaultId": null,
                    "ProductPlatformId": null,
                    "RetentionModelId": null,
                    "ProductPricingLevelId": null
                  },
                  {
                    "LicenseSeats": 150,
                    "LicenseCategoryName": "SDNS",
                    "Years": "1",
                    "LicenseKeycodeTypeId": 3,
                    "ItemHierarchyId": 2,
                    "ExpirationDate": null,
                    "VendorOrderItemCode": null,
                    "CartItemBundleId": 1,
                    "LicenseAttributeValue": 110,
                    "UsagePricingModelId": null,
                    "VaultId": null,
                    "ProductPlatformId": null,
                    "RetentionModelId": null,
                    "ProductPricingLevelId": null
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Information about the created cart.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateCartResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "VendorOrderCode": "MSP0046543056",
                  "CartOrderStatusId": 1,
                  "TypeOfOrder": "MSP",
                  "TotalAmount": 1647.0,
                  "TotalAmountFmt": "$1647.00",
                  "SubTotalAmount": 1647.0,
                  "SubTotalAmountFmt": "$1647.00",
                  "TaxAmount": 0.0,
                  "TaxAmountFmt": "$0.00",
                  "Locale": "en_US",
                  "SalesOrderDate": "2026-04-14T00:00:00Z",
                  "CurrencyCode": "USD",
                  "Items": [
                    [
                      {
                        "CartOrderItemId": 11223344,
                        "LineItem": 1,
                        "Quantity": 150,
                        "Years": "1",
                        "ListPrice": 4.99,
                        "ListPriceFmt": "$4.99",
                        "UnitPrice": 4.99,
                        "UnitPriceFmt": "$4.99 Today",
                        "SubTotalAmount": 748.5,
                        "SubTotalAmountFmt": "$748.50 Today",
                        "SubTotalListAmount": 748.5,
                        "SubTotalListAmountFmt": "$748.50",
                        "ProductId": 152200101,
                        "ProductDescription": "Webroot Business Endpoint Protection 1 Year Parent",
                        "ProductTypeId": 1,
                        "ProductTypeDescription": "New",
                        "LicenseKeycodeTypeId": 3,
                        "LicenseCategoryName": "SAEP",
                        "LicenseCategoryDescription": "Webroot Endpoint Protection",
                        "ProductFamilyDescription": "Webroot Secure Anywhere Business",
                        "StartDate": "2026-04-14T00:00:00Z",
                        "ExpirationDate": "2027-04-14T00:00:00Z",
                        "CartItemBundleId": 1,
                        "ItemHierarchyId": 1,
                        "DependentCartOrderItemId": null,
                        "Keycode": null,
                        "LicenseAttributeValue": 110,
                        "LicenseAttributeValueDescription": "Monthly Sold",
                        "UsagePricingModelId": null,
                        "UsagePricingModelName": null,
                        "VendorOrderItemCode": null,
                        "OrderItemUpdateTypeId": null,
                        "LicenseSeats": 1,
                        "VaultId": null,
                        "VaultName": null,
                        "ProductPlatformId": null,
                        "ProductPlatformName": null,
                        "RetentionModelId": null,
                        "RetentionModelName": null,
                        "ProductPricingLevelId": 1,
                        "ProductPricingLevelDescription": "Standard"
                      },
                      {
                        "CartOrderItemId": 11223345,
                        "LineItem": 2,
                        "Quantity": 150,
                        "Years": "1",
                        "ListPrice": 5.99,
                        "ListPriceFmt": "$5.99",
                        "UnitPrice": 5.99,
                        "UnitPriceFmt": "$5.99 Today",
                        "SubTotalAmount": 898.5,
                        "SubTotalAmountFmt": "$898.50 Today",
                        "SubTotalListAmount": 898.5,
                        "SubTotalListAmountFmt": "$898.50",
                        "ProductId": 152300101,
                        "ProductDescription": "Webroot DNS Protection 1 Year Parent",
                        "ProductTypeId": 1,
                        "ProductTypeDescription": "New",
                        "LicenseKeycodeTypeId": 3,
                        "LicenseCategoryName": "SDNS",
                        "LicenseCategoryDescription": "Webroot DNS Protection",
                        "ProductFamilyDescription": "Webroot Secure Anywhere Business",
                        "StartDate": "2026-04-14T00:00:00Z",
                        "ExpirationDate": "2027-04-14T00:00:00Z",
                        "CartItemBundleId": 1,
                        "ItemHierarchyId": 2,
                        "DependentCartOrderItemId": null,
                        "Keycode": null,
                        "LicenseAttributeValue": 110,
                        "LicenseAttributeValueDescription": "Monthly Sold",
                        "UsagePricingModelId": null,
                        "UsagePricingModelName": null,
                        "VendorOrderItemCode": null,
                        "OrderItemUpdateTypeId": null,
                        "LicenseSeats": 1,
                        "VaultId": null,
                        "VaultName": null,
                        "ProductPlatformId": null,
                        "ProductPlatformName": null,
                        "RetentionModelId": null,
                        "RetentionModelName": null,
                        "ProductPricingLevelId": 1,
                        "ProductPricingLevelDescription": "Standard"
                      }
                    ]
                  ],
                  "Customers": {
                    "Billing": {
                      "FirstName": "John",
                      "LastName": "Doe",
                      "Address1": "Webroot Way 21",
                      "Address2": null,
                      "City": "Broomfield",
                      "PostalCode": "80021",
                      "State": "CO",
                      "Country": "US",
                      "CustomerEmail": "jdoe@webroot.com",
                      "CompanyName": "ACME, Inc.",
                      "ExternalCustomerKey": "E000561673",
                      "VatId": "A123456",
                      "CustomerTypeId": 1,
                      "CustomerTypeDescription": "Billing",
                      "OptIn": true
                    },
                    "Shipping": null,
                    "Reseller": null
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/carts"
          }
        ]
      }
    },
    "/api/ecom/shop/carts/{vendorOrderCode}": {
      "get": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Gets a cart by its vendorOrderCode. The response will also include the cart’s items and customers, if present.",
        "operationId": "Shop_GetCart",
        "parameters": [
          {
            "name": "vendorOrderCode",
            "in": "path",
            "required": true,
            "description": "Identifier of the cart.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "PSV0093961495"
          }
        ],
        "responses": {
          "200": {
            "description": "Cart associated to 'vendorOrderCode'.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCartResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "VendorOrderCode": "MSP0046543056",
                  "CartOrderStatusId": 1,
                  "TypeOfOrder": "MSP",
                  "TotalAmount": 39.99,
                  "TotalAmountFmt": "$39.99",
                  "SubTotalAmount": 39.99,
                  "SubTotalAmountFmt": "$39.99",
                  "TaxAmount": 0.0,
                  "TaxAmountFmt": "$0.00",
                  "Locale": "en_US",
                  "SalesOrderDate": "2026-04-14T16:59:31",
                  "CurrencyCode": "USD",
                  "Items": [
                    [
                      {
                        "CartOrderItemId": 11223344,
                        "LineItem": 1,
                        "Quantity": 150,
                        "Years": "1",
                        "ListPrice": 4.99,
                        "ListPriceFmt": "$4.99",
                        "UnitPrice": 4.99,
                        "UnitPriceFmt": "$4.99 Today",
                        "SubTotalAmount": 748.5,
                        "SubTotalAmountFmt": "$748.50 Today",
                        "SubTotalListAmount": 748.5,
                        "SubTotalListAmountFmt": "$748.50",
                        "ProductId": 152200101,
                        "ProductDescription": "Webroot Business Endpoint Protection 1 Year Parent",
                        "ProductTypeId": 1,
                        "ProductTypeDescription": "New",
                        "LicenseKeycodeTypeId": 3,
                        "LicenseCategoryName": "SAEP",
                        "LicenseCategoryDescription": "Webroot Endpoint Protection",
                        "ProductFamilyDescription": "Webroot Secure Anywhere Business",
                        "StartDate": "2026-04-14T00:00:00Z",
                        "ExpirationDate": "2027-04-14T00:00:00Z",
                        "CartItemBundleId": 1,
                        "ItemHierarchyId": 1,
                        "DependentCartOrderItemId": null,
                        "Keycode": null,
                        "LicenseAttributeValue": 110,
                        "LicenseAttributeValueDescription": "Monthly Sold",
                        "UsagePricingModelId": null,
                        "UsagePricingModelName": null,
                        "VendorOrderItemCode": null,
                        "OrderItemUpdateTypeId": null,
                        "LicenseSeats": 1,
                        "VaultId": null,
                        "VaultName": null,
                        "ProductPlatformId": null,
                        "ProductPlatformName": null,
                        "RetentionModelId": null,
                        "RetentionModelName": null,
                        "ProductPricingLevelId": 1,
                        "ProductPricingLevelDescription": "Standard"
                      },
                      {
                        "CartOrderItemId": 11223345,
                        "LineItem": 2,
                        "Quantity": 150,
                        "Years": "1",
                        "ListPrice": 5.99,
                        "ListPriceFmt": "$5.99",
                        "UnitPrice": 5.99,
                        "UnitPriceFmt": "$5.99 Today",
                        "SubTotalAmount": 898.5,
                        "SubTotalAmountFmt": "$898.50 Today",
                        "SubTotalListAmount": 898.5,
                        "SubTotalListAmountFmt": "$898.50",
                        "ProductId": 152300101,
                        "ProductDescription": "Webroot DNS Protection 1 Year Parent",
                        "ProductTypeId": 1,
                        "ProductTypeDescription": "New",
                        "LicenseKeycodeTypeId": 3,
                        "LicenseCategoryName": "SDNS",
                        "LicenseCategoryDescription": "Webroot DNS Protection",
                        "ProductFamilyDescription": "Webroot Secure Anywhere Business",
                        "StartDate": "2026-04-14T00:00:00Z",
                        "ExpirationDate": "2027-04-14T00:00:00Z",
                        "CartItemBundleId": 1,
                        "ItemHierarchyId": 2,
                        "DependentCartOrderItemId": null,
                        "Keycode": null,
                        "LicenseAttributeValue": 110,
                        "LicenseAttributeValueDescription": "Monthly Sold",
                        "UsagePricingModelId": null,
                        "UsagePricingModelName": null,
                        "VendorOrderItemCode": null,
                        "OrderItemUpdateTypeId": null,
                        "LicenseSeats": 1,
                        "VaultId": null,
                        "VaultName": null,
                        "ProductPlatformId": null,
                        "ProductPlatformName": null,
                        "RetentionModelId": null,
                        "RetentionModelName": null,
                        "ProductPricingLevelId": 1,
                        "ProductPricingLevelDescription": "Standard"
                      }
                    ]
                  ],
                  "Customers": {
                    "Billing": {
                      "FirstName": "John",
                      "LastName": "Doe",
                      "Address1": "Webroot Way 21",
                      "Address2": null,
                      "City": "Broomfield",
                      "PostalCode": "80021",
                      "State": "CO",
                      "Country": "US",
                      "CustomerEmail": "jdoe@webroot.com",
                      "CompanyName": "ACME, Inc.",
                      "ExternalCustomerKey": "E000584460",
                      "VatId": "A123456",
                      "CustomerTypeId": 1,
                      "CustomerTypeDescription": "Billing",
                      "OptIn": true
                    },
                    "Shipping": {
                      "FirstName": "John",
                      "LastName": "Doe",
                      "Address1": "Webroot Way 21",
                      "Address2": null,
                      "City": "Broomfield",
                      "PostalCode": "80021",
                      "State": "CO",
                      "Country": "US",
                      "CustomerEmail": "jdoe@webroot.com",
                      "CompanyName": "ACME, Inc.",
                      "ExternalCustomerKey": "E000666859",
                      "VatId": "A123456",
                      "CustomerTypeId": 2,
                      "CustomerTypeDescription": "Shipping",
                      "OptIn": true
                    },
                    "Reseller": null
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/carts/PSV0093961495"
          }
        ]
      }
    },
    "/api/ecom/shop/carts/{vendorOrderCode}/customers": {
      "post": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates end customer (shipping) and/or reseller customer records to associate to a given cart. Note that a billing customer is associated when the cart is created and cannot be modified.",
        "operationId": "Shop_AddCustomersToCart",
        "parameters": [
          {
            "name": "vendorOrderCode",
            "in": "path",
            "required": true,
            "description": "Identifier of the cart.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "PSV0097525985"
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Customer(s) to be added.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AddCustomersToCartRequestServiceModel"
                  }
                ]
              },
              "example": {
                "Reseller": {
                  "FirstName": "John",
                  "LastName": "Doe",
                  "Address1": "Webroot Way 21",
                  "Address2": null,
                  "City": "Broomfield",
                  "PostalCode": "80021",
                  "State": "CO",
                  "Country": "US",
                  "CustomerEmail": "jdoe@webroot.com",
                  "CompanyName": "ACME, Inc.",
                  "CompanyTypeId": 11,
                  "ExternalCustomerKey": "E000533775",
                  "OptIn": true
                },
                "Shipping": {
                  "FirstName": "John",
                  "LastName": "Doe",
                  "Address1": "Webroot Way 21",
                  "Address2": null,
                  "City": "Broomfield",
                  "PostalCode": "80021",
                  "State": "CO",
                  "Country": "US",
                  "CustomerEmail": "jdoe@webroot.com",
                  "CompanyName": "ACME, Inc.",
                  "CompanyTypeId": 11,
                  "ExternalCustomerKey": "E000848719",
                  "OptIn": true
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Information about the item that was added.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AddCustomersToCartResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "Billing": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": "CO",
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000576866",
                    "VatId": "A123456",
                    "CustomerTypeId": 1,
                    "CustomerTypeDescription": "Billing",
                    "OptIn": true
                  },
                  "Reseller": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": "CO",
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000852116",
                    "VatId": "A123456",
                    "CustomerTypeId": 3,
                    "CustomerTypeDescription": "Reseller",
                    "OptIn": true
                  },
                  "Shipping": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": "CO",
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000576909",
                    "VatId": "A123456",
                    "CustomerTypeId": 2,
                    "CustomerTypeDescription": "Shipping",
                    "OptIn": true
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/carts/PSV0097525985/customers"
          }
        ]
      },
      "get": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Gets the customers associated to a cart.",
        "operationId": "Shop_GetCustomersOfCart",
        "parameters": [
          {
            "name": "vendorOrderCode",
            "in": "path",
            "required": true,
            "description": "Identifier of the cart.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "PSV0010019927"
          }
        ],
        "responses": {
          "200": {
            "description": "Customers associated to 'vendorOrderCode'.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCustomersOfCartResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "Billing": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": null,
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000875010",
                    "VatId": "A123456",
                    "CustomerTypeId": 1,
                    "CustomerTypeDescription": "Billing",
                    "OptIn": true
                  },
                  "Reseller": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": null,
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000425215",
                    "VatId": "A123456",
                    "CustomerTypeId": 3,
                    "CustomerTypeDescription": "Reseller",
                    "OptIn": true
                  },
                  "Shipping": {
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "Address2": null,
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": null,
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc.",
                    "ExternalCustomerKey": "E000595676",
                    "VatId": "A123456",
                    "CustomerTypeId": 2,
                    "CustomerTypeDescription": "Shipping",
                    "OptIn": true
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/carts/PSV0010019927/customers"
          }
        ]
      }
    },
    "/api/ecom/shop/orders": {
      "post": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates an order by processing a cart.",
        "operationId": "Shop_CreateOrder",
        "requestBody": {
          "x-name": "request",
          "description": "Information about the order to process.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateOrderRequestServiceModel"
                  }
                ]
              },
              "example": {
                "VendorOrderCode": "MSP0046543057",
                "PaymentMethod": "PurchaseOrder",
                "PurchaseOrder": "P4713A20",
                "LicenseDistributionMethodCode": "ABCD"
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Details about the newly created order.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateOrderResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "VendorOrderDate": "2026-01-30T15:15:21",
                  "Locale": "en_US",
                  "TypeOfOrder": "MSP",
                  "VendorOrderCode": "MSP0046543057",
                  "OrderHeaderToken": "07D07009-2487-4740-AB03-D9FAECCF75F2",
                  "CurrencyCode": "USD",
                  "PaymentHeader": {
                    "PaymentStatusName": "subscribed",
                    "PaymentMethodName": "PurchaseOrder"
                  },
                  "Items": [
                    {
                      "LicenseCategoryName": "WIFI",
                      "LicenseKeycodeTypeId": "1",
                      "Seats": 3,
                      "Quantity": 1,
                      "UnitPrice": 39.99,
                      "ItemHierarchyId": 1,
                      "ItemBundleId": 1,
                      "KeyCode": "CF3BAEA489D74683B2EF",
                      "ProductDescription": "Webroot WiFi Security 3 Device 1 Year Subscription",
                      "ProductTypeDescription": "New",
                      "LicenseAttributeValue": 110,
                      "LicenseAttributeValueDescription": "Monthly Sold",
                      "LicenseAttributeDescription": "MSP Billing",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "VaultId": null,
                      "VaultName": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null,
                      "ProductPricingLevelId": null,
                      "ProductPricingLevelDescription": null,
                      "CustomAttribute": null
                    }
                  ],
                  "Customers": {
                    "Billing": {
                      "CustomerId": 46706056,
                      "PhoneNumber": "0815 4711",
                      "FirstName": "John",
                      "LastName": "Doe",
                      "Address1": "Webroot Way 21",
                      "Address2": null,
                      "City": "Eastminster",
                      "PostalCode": "09513",
                      "State": null,
                      "Country": "USA",
                      "CustomerEmail": "jdoe@webroot.com",
                      "CompanyName": "ACME, Inc.",
                      "ExternalCustomerKey": "E000589109",
                      "VatId": "A123456",
                      "CustomerTypeId": 1,
                      "CustomerTypeDescription": "Billing",
                      "OptIn": true
                    },
                    "Shipping": {
                      "CustomerId": 47514615,
                      "PhoneNumber": "0815 4711",
                      "FirstName": "John",
                      "LastName": "Doe",
                      "Address1": "Webroot Way 21",
                      "Address2": null,
                      "City": "Eastminster",
                      "PostalCode": "09513",
                      "State": null,
                      "Country": "USA",
                      "CustomerEmail": "jdoe@webroot.com",
                      "CompanyName": "ACME, Inc.",
                      "ExternalCustomerKey": "E000151443",
                      "VatId": "A123456",
                      "CustomerTypeId": 2,
                      "CustomerTypeDescription": "Shipping",
                      "OptIn": true
                    },
                    "Reseller": null
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/orders"
          }
        ]
      }
    },
    "/api/ecom/shop/products/{keycode}/orderstatus": {
      "get": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Gets information about the order status for a keycode.",
        "description": "This API returns status information about all orders associated with the provided keycode. The response may include multiple status information in case an existing license is upgraded or renewed for example.  Each status information record provides the *VendorOrderCode* value which identifies the cart order that was used to create an order on the license. \nNote: If no order status information is available for the provided keycode, the API will respond with a status code of 404 (NotFound). This can be the case for example when trying to query information for a trial license.",
        "operationId": "Shop_GetOrderStatus",
        "parameters": [
          {
            "name": "keycode",
            "in": "path",
            "required": true,
            "description": "The product keycode to query order status information for. In general, this is the keycode that was returned when an order is placed by processing a cart via the [CreateOrder](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-ecom-shop-orders) API.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "E455A3DF713C4460AFDB"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the status of orders associated with the keycode.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetOrderStatusResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "OrderStatus": [
                    {
                      "Keycode": "2DCAF0270BEF429ABF99",
                      "VendorOrderCode": "PSV0046374599",
                      "ExceptionStatus": null,
                      "PartnerLicenseStatus": "approved"
                    },
                    {
                      "Keycode": "2DCAF0270BEF429ABF99",
                      "VendorOrderCode": "PSV0024304558",
                      "ExceptionStatus": "resolved",
                      "PartnerLicenseStatus": null
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/products/E455A3DF713C4460AFDB/orderstatus"
          }
        ]
      }
    },
    "/api/ecom/shop/products/{keycode}/licensecategory/{licenseCategoryName}": {
      "delete": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates a request to cancel a particular product.",
        "operationId": "Shop_CancelProduct",
        "parameters": [
          {
            "name": "keycode",
            "in": "path",
            "required": true,
            "description": "The product keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "49B99AE120204CE1AE42"
          },
          {
            "name": "licenseCategoryName",
            "in": "path",
            "required": true,
            "description": "The identifier for a particular product on a license. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, PLRP, CALLY, OSBPB.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2,
            "example": "CBEP"
          }
        ],
        "responses": {
          "200": {
            "description": "The result of the cancel request",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateProductCancellationResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "LicenseServiceId": 30215428
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/products/49B99AE120204CE1AE42/licensecategory/CBEP"
          }
        ]
      }
    },
    "/api/ecom/shop/products/{keycode}": {
      "get": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Gets a license by its keycode.",
        "operationId": "Shop_GetProductLicense",
        "parameters": [
          {
            "name": "keycode",
            "in": "path",
            "required": true,
            "description": "The product keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "8C09F0DDE7E94C46B6E3"
          }
        ],
        "responses": {
          "200": {
            "description": "The license which represents a set of subscriptions to particular products.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetProductLicenseResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "LicenseId": 143358472,
                  "Keycode": "B95B29D2E9CD40788AA0",
                  "ProductLineDescription": "Webroot Business",
                  "ParentLicenseId": 126989254,
                  "ParentKeycode": "B6D7CD6C9ED7495FA2D8",
                  "ChildLicenseActivations": 9,
                  "PartnerStartDate": "2025-12-25T01:10:21",
                  "CustomAttribute": null,
                  "Profile": {
                    "SAEP": {
                      "LicenseCategoryName": "SAEP",
                      "LicenseCategoryDescription": "Webroot Endpoint Protection",
                      "LicenseSeats": 454,
                      "LicenseKeycodeTypeId": 3,
                      "StartDate": "2024-04-23T05:45:12",
                      "ExpirationDate": "2028-07-14T11:29:28",
                      "LicenseAttributeValue": null,
                      "LicenseAttributeValueDescription": null,
                      "LicenseAttributeDescription": null,
                      "CategoryTypeName": "trial",
                      "ItemHierarchyId": 1,
                      "ItemHierarchyName": "primary",
                      "LicenseStatusId": 1,
                      "LicenseStatusDescription": "active",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "UsageCheckDay": 15,
                      "VaultId": null,
                      "VaultName": null,
                      "Vaults": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null
                    },
                    "SDNS": {
                      "LicenseCategoryName": "SDNS",
                      "LicenseCategoryDescription": "Webroot DNS Protection",
                      "LicenseSeats": 407,
                      "LicenseKeycodeTypeId": 3,
                      "StartDate": "2023-08-27T08:32:31",
                      "ExpirationDate": "2027-10-08T22:35:33",
                      "LicenseAttributeValue": null,
                      "LicenseAttributeValueDescription": null,
                      "LicenseAttributeDescription": null,
                      "CategoryTypeName": "full",
                      "ItemHierarchyId": 2,
                      "ItemHierarchyName": "secondary",
                      "LicenseStatusId": 0,
                      "LicenseStatusDescription": "inactive",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "UsageCheckDay": 15,
                      "VaultId": null,
                      "VaultName": null,
                      "Vaults": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null
                    }
                  },
                  "Customer": {
                    "VendorCustomerCode": "51861",
                    "CompanyName": "Sample Company"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/products/8C09F0DDE7E94C46B6E3"
          }
        ]
      }
    },
    "/api/ecom/shop/products/{keycode}/childlicenses": {
      "get": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Gets all child licenses of a parent license, but without billing information which is maintained by the parent license.",
        "operationId": "Shop_GetProductChildLicenses",
        "parameters": [
          {
            "name": "keycode",
            "in": "path",
            "required": true,
            "description": "The product keycode.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "7176B748622A4069AF36"
          }
        ],
        "responses": {
          "200": {
            "description": "All child licenses which represent a set of subscriptions to particular products.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetProductChildLicensesResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "ChildLicenses": [
                    {
                      "LicenseId": 117633927,
                      "Keycode": "B187EE9353D04C00B4E8",
                      "ParentKeycode": "45AFCCB963054143BE82",
                      "SiteName": "My site 1",
                      "ChildLicenseProfile": {
                        "SAEP": {
                          "LicenseCategoryName": "SAEP",
                          "LicenseCategoryDescription": "Webroot Endpoint Protection",
                          "LicenseKeycodeTypeId": 3,
                          "StartDate": "2024-11-19T05:03:37",
                          "ExpirationDate": "2027-04-03T09:39:01",
                          "CategoryTypeName": "full",
                          "ItemHierarchyId": 1,
                          "ItemHierarchyName": "primary",
                          "LicenseStatusId": 2,
                          "LicenseStatusDescription": "disabled"
                        },
                        "SDNS": {
                          "LicenseCategoryName": "SDNS",
                          "LicenseCategoryDescription": "Webroot DNS Protection",
                          "LicenseKeycodeTypeId": 3,
                          "StartDate": "2023-08-02T15:44:11",
                          "ExpirationDate": "2028-10-12T05:10:44",
                          "CategoryTypeName": "trial",
                          "ItemHierarchyId": 2,
                          "ItemHierarchyName": "secondary",
                          "LicenseStatusId": 2,
                          "LicenseStatusDescription": "disabled"
                        }
                      }
                    },
                    {
                      "LicenseId": 102405244,
                      "Keycode": "1C6E087B1D1842BAB9F1",
                      "ParentKeycode": "45AFCCB963054143BE82",
                      "SiteName": "My site 2",
                      "ChildLicenseProfile": {
                        "SAEP": {
                          "LicenseCategoryName": "SAEP",
                          "LicenseCategoryDescription": "Webroot Endpoint Protection",
                          "LicenseKeycodeTypeId": 3,
                          "StartDate": "2024-06-02T08:36:11",
                          "ExpirationDate": "2027-09-08T00:47:59",
                          "CategoryTypeName": "full",
                          "ItemHierarchyId": 1,
                          "ItemHierarchyName": "primary",
                          "LicenseStatusId": 0,
                          "LicenseStatusDescription": "inactive"
                        },
                        "SDNS": {
                          "LicenseCategoryName": "SDNS",
                          "LicenseCategoryDescription": "Webroot DNS Protection",
                          "LicenseKeycodeTypeId": 3,
                          "StartDate": "2024-04-02T10:41:19",
                          "ExpirationDate": "2027-10-21T10:21:32",
                          "CategoryTypeName": "full",
                          "ItemHierarchyId": 2,
                          "ItemHierarchyName": "secondary",
                          "LicenseStatusId": 2,
                          "LicenseStatusDescription": "disabled"
                        },
                        "SECA": {
                          "LicenseCategoryName": "SECA",
                          "LicenseCategoryDescription": "Webroot Security Awareness",
                          "LicenseKeycodeTypeId": 3,
                          "StartDate": "2025-09-14T23:26:13",
                          "ExpirationDate": "2027-12-06T07:30:43",
                          "CategoryTypeName": "trial",
                          "ItemHierarchyId": 2,
                          "ItemHierarchyName": "secondary",
                          "LicenseStatusId": 0,
                          "LicenseStatusDescription": "inactive"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/products/7176B748622A4069AF36/childlicenses"
          }
        ]
      }
    },
    "/api/ecom/shop/trials": {
      "post": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates a trial license for a given product.",
        "operationId": "Shop_CreateTrial",
        "requestBody": {
          "x-name": "request",
          "description": "Information about the product trial to process.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateTrialProductRequestServiceModel"
                  }
                ]
              },
              "example": {
                "LicenseSeats": 746,
                "LicenseCategoryName": "SAEP",
                "LicenseKeycodeTypeId": 3,
                "FirstName": "John",
                "LastName": "Doe",
                "Address1": "Webroot Way 21",
                "City": "Broomfield",
                "PostalCode": "80021",
                "State": "CO",
                "Country": "US",
                "CustomerEmail": "jdoe@webroot.com",
                "CompanyName": "ACME, Inc.",
                "VendorCustomerCode": "E000787753",
                "VaultId": null,
                "ProductPlatformId": null,
                "Modules": [
                  {
                    "LicenseSeats": 296,
                    "LicenseCategoryName": "SDNS",
                    "VaultId": null,
                    "ProductPlatformId": null
                  },
                  {
                    "LicenseSeats": 407,
                    "LicenseCategoryName": "SECA",
                    "VaultId": null,
                    "ProductPlatformId": null
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Details about the newly created product trial.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateTrialProductResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "Message": null,
                  "LicenseId": 100532682,
                  "Keycode": "D4E8AE7CCDC24C94BF4B",
                  "ProductLineDescription": "Webroot Business",
                  "Profile": {
                    "SAEP": {
                      "LicenseCategoryName": "SAEP",
                      "LicenseCategoryDescription": "Webroot Endpoint Protection",
                      "LicenseSeats": 81,
                      "LicenseKeycodeTypeId": 3,
                      "StartDate": "2026-04-12T03:27:39",
                      "ExpirationDate": "2027-12-17T04:35:50",
                      "LicenseAttributeValue": 1,
                      "LicenseAttributeValueDescription": "",
                      "LicenseAttributeDescription": "",
                      "CategoryTypeName": "full",
                      "ItemHierarchyId": 1,
                      "ItemHierarchyName": "primary",
                      "LicenseStatusId": 1,
                      "LicenseStatusDescription": "active",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "UsageCheckDay": null,
                      "VaultId": null,
                      "VaultName": null,
                      "Vaults": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null
                    },
                    "SDNS": {
                      "LicenseCategoryName": "SDNS",
                      "LicenseCategoryDescription": "Webroot DNS Protection",
                      "LicenseSeats": 68,
                      "LicenseKeycodeTypeId": 3,
                      "StartDate": "2026-04-13T11:44:17",
                      "ExpirationDate": "2027-03-22T02:23:24",
                      "LicenseAttributeValue": 1,
                      "LicenseAttributeValueDescription": "",
                      "LicenseAttributeDescription": "",
                      "CategoryTypeName": "trial",
                      "ItemHierarchyId": 2,
                      "ItemHierarchyName": "secondary",
                      "LicenseStatusId": 3,
                      "LicenseStatusDescription": "manually disabled",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "UsageCheckDay": null,
                      "VaultId": null,
                      "VaultName": null,
                      "Vaults": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null
                    }
                  },
                  "Customer": {
                    "VendorCustomerCode": "26714",
                    "FirstName": "John",
                    "LastName": "Doe",
                    "Address1": "Webroot Way 21",
                    "City": "Broomfield",
                    "PostalCode": "80021",
                    "State": "CO",
                    "Country": "US",
                    "CustomerEmail": "jdoe@webroot.com",
                    "CompanyName": "ACME, Inc."
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/trials"
          }
        ]
      }
    },
    "/api/ecom/shop/trials/{keycode}/modules": {
      "post": {
        "tags": [
          "ECom: Shop"
        ],
        "summary": "Creates trial modules for a given parent keycode.",
        "operationId": "Shop_CreateModuleTrial",
        "parameters": [
          {
            "name": "keycode",
            "in": "path",
            "required": true,
            "description": "The keycode of a parent console where trial module(s) should be created.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "3FEFD904CB454A958188"
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Information about the trial(s) that should be created.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateModuleTrialRequestServiceModel"
                  }
                ]
              },
              "example": {
                "Modules": [
                  {
                    "LicenseSeats": 48,
                    "LicenseCategoryName": "SDNS",
                    "VaultId": null,
                    "ProductPlatformId": null
                  },
                  {
                    "LicenseSeats": 691,
                    "LicenseCategoryName": "SECA",
                    "VaultId": null,
                    "ProductPlatformId": null
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Details about the newly created trial(s).",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateModuleTrialResponseServiceModel"
                    }
                  ]
                },
                "example": {
                  "LicenseId": 148782461,
                  "Keycode": "973E99FAE83F44C895A4",
                  "ProductLineDescription": "Webroot Business",
                  "ParentLicenseId": 172986723,
                  "ParentKeycode": "1B41F015B9574F9AAB8B",
                  "ChildLicenseActivations": 2,
                  "PartnerStartDate": "2024-07-22T07:20:57",
                  "Profile": {
                    "SAEP": {
                      "LicenseCategoryName": "SAEP",
                      "LicenseCategoryDescription": "Webroot Endpoint Protection",
                      "LicenseSeats": 291,
                      "LicenseKeycodeTypeId": 3,
                      "StartDate": "2025-11-24T21:13:27",
                      "ExpirationDate": "2028-02-24T20:10:02",
                      "LicenseAttributeValue": null,
                      "LicenseAttributeValueDescription": null,
                      "LicenseAttributeDescription": null,
                      "CategoryTypeName": "trial",
                      "ItemHierarchyId": 1,
                      "ItemHierarchyName": "primary",
                      "LicenseStatusId": 0,
                      "LicenseStatusDescription": "inactive",
                      "UsagePricingModelId": null,
                      "UsagePricingModelName": null,
                      "UsageCheckDay": 15,
                      "VaultId": null,
                      "VaultName": null,
                      "Vaults": null,
                      "ProductPlatformId": null,
                      "ProductPlatformName": null,
                      "RetentionModelId": null,
                      "RetentionModelName": null
                    }
                  },
                  "Customer": {
                    "VendorCustomerCode": "52663"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "ECom.Shop"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/ecom/shop/trials/3FEFD904CB454A958188/modules"
          }
        ]
      }
    },
    "/api/health/ping": {
      "get": {
        "tags": [
          "HealthCheck: Health Check"
        ],
        "summary": "Empty action that can be used to ping for the availability of the service.",
        "operationId": "HealthCheck_Ping",
        "responses": {
          "200": {
            "description": "An empty response.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "nullable": true
                }
              }
            }
          }
        }
      }
    },
    "/api/health/version": {
      "get": {
        "tags": [
          "HealthCheck: Health Check"
        ],
        "summary": "Retrieves version information of the running service environment.",
        "operationId": "HealthCheck_Version",
        "responses": {
          "200": {
            "description": "Version information of the running service environment.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/VersionResponseModel"
                    }
                  ]
                },
                "example": {
                  "ServiceInformation": {
                    "Name": "Webroot.UnityAPI.Server",
                    "Company": "Webroot Inc.",
                    "Product": "Webroot Unity API",
                    "Copyright": "© Copyright 2016 Webroot Inc.",
                    "Title": "Webroot Unity API - Server",
                    "FileVersion": "1.0.16294.1",
                    "Version": "1.0.0.0"
                  },
                  "LoadedExtensions": [
                    {
                      "Name": "Webroot.UnityAPI.Extension1",
                      "Company": "Webroot Inc.",
                      "Product": "Webroot Unity API",
                      "Copyright": "© Copyright 2016 Webroot Inc.",
                      "Title": "Webroot Unity API - Extension 1",
                      "FileVersion": "1.0.16294.1",
                      "Version": "1.0.0.0"
                    },
                    {
                      "Name": "Webroot.UnityAPI.Extension2",
                      "Company": "Webroot Inc.",
                      "Product": "Webroot Unity API",
                      "Copyright": "© Copyright 2016 Webroot Inc.",
                      "Title": "Webroot Unity API - Extension 2",
                      "FileVersion": "1.0.16294.1",
                      "Version": "1.0.0.0"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/notifications/subscriptions/eventtypes": {
      "get": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Gets a list of available event types that can be subscribed to, with information on required scope permissions and subscription domains for each event type.",
        "operationId": "Subscriptions_GetEventTypes",
        "responses": {
          "200": {
            "description": "List of available event types.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetEventTypesResponseModel"
                    }
                  ]
                },
                "example": {
                  "Count": 2,
                  "EventTypes": [
                    {
                      "EventType": "EventType_1",
                      "Description": "EventType description",
                      "Scopes": [
                        "Console.GSM",
                        "SkyStatus.GSM"
                      ],
                      "Domains": [
                        {
                          "Type": "GSM",
                          "Values": [
                            "GSMKey"
                          ]
                        },
                        {
                          "Type": "Site",
                          "Values": [
                            "GSMKey",
                            "SiteKey"
                          ]
                        }
                      ]
                    },
                    {
                      "EventType": "EventType_2",
                      "Description": "EventType description",
                      "Scopes": [
                        "Console.GSM",
                        "SkyStatus.GSM"
                      ],
                      "Domains": [
                        {
                          "Type": "GSM",
                          "Values": [
                            "GSMKey"
                          ]
                        },
                        {
                          "Type": "Site",
                          "Values": [
                            "GSMKey",
                            "SiteKey"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/eventtypes"
          }
        ]
      }
    },
    "/api/notifications/subscriptions": {
      "get": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Gets information about the active subscriptions associated with the authenticated caller.",
        "description": "Subscriptions are maintained on the basis of username and client id. Only subscriptions that have been created and are active for the username and client id pair of the caller are returned.",
        "operationId": "Subscriptions_GetSubscriptions",
        "responses": {
          "200": {
            "description": "List of active subscriptions with information on subscribed domains and event types.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSubscriptionsResponseModel"
                    }
                  ]
                },
                "example": {
                  "Count": 2,
                  "Subscriptions": [
                    {
                      "SubscriptionId": "a880d20d-e202-4e90-abdc-7c6e7f92ed04",
                      "DeliveryType": "fetch",
                      "Domain": {
                        "Type": "Site",
                        "Values": [
                          {
                            "Name": "GSMKey",
                            "Value": "B786-BEB7-C9F6-4E58-A125"
                          },
                          {
                            "Name": "SiteKey",
                            "Value": "601E-DAD1-B17E-4110-B08C"
                          }
                        ]
                      },
                      "EventTypes": [
                        "Endpoint.FileDetection"
                      ],
                      "Webhook": null,
                      "CreatedDate": "2026-01-14T07:23:18.4607789Z",
                      "UpdatedDate": "2026-02-14T07:23:18.4607789Z"
                    },
                    {
                      "SubscriptionId": "2941822e-b137-4286-8087-d21e39ea1602",
                      "DeliveryType": "webhook",
                      "Domain": {
                        "Type": "Site",
                        "Values": [
                          {
                            "Name": "GSMKey",
                            "Value": "1339-C12F-8F71-4656-9D32"
                          },
                          {
                            "Name": "SiteKey",
                            "Value": "9413-A979-3AE5-4EDE-B329"
                          }
                        ]
                      },
                      "EventTypes": [
                        "Endpoint.FileDetection"
                      ],
                      "Webhook": {
                        "DeliveryContext": "MyCustomCorrelationString",
                        "DeliveryRateInSeconds": 90,
                        "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook",
                        "Suspended": false,
                        "Statistics": null
                      },
                      "CreatedDate": "2026-01-14T07:23:18.4607789Z",
                      "UpdatedDate": "2026-02-14T07:23:18.4607789Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions"
          }
        ]
      },
      "post": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Creates a new subscription.",
        "description": "Once a subscription is created, Unity API collects notifications for the subscription in an internal mailbox and keeps them for up to a few days. This mailbox can be accessed through the fetch API using so called *positions*. \n1. To start consuming event notifications for your subscription, create an initial position via the [position](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions-subscriptionId-position) API function. The position can be at the beginning of the mailbox (where the oldest item is located), at a certain date, at the most recent notification, or at the end of the mailbox.\n2. Then use the [fetch](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-notifications-subscriptions-subscriptionId-fetch_position) API to query notifications from the created position. The API function fetches available notifications from that position and returns a new position (*NextPosition* response value) which has been moved by exactly the number of notifications it returned in its response.\n3. For subsequent fetch calls, pass in the provided *NextPosition* value from the previous call in order to continue reading new notifications. Make sure to leave some time between fetch calls in case no more notifications are available from the provided position, which is indicated in the response of the fetch call (*MoreAvailable* response value).\n\n\nNote that Unity API only keeps notifications for a certain number of days. Any notifications older than that will be discarded and can no longer be fetched, even if you create a position that starts at the beginning of the mailbox or at an earlier date.\n\nYou can create and use multiple subscriptions for the same domain and event types. Refer to these subscriptions using their subscription identifier to independently receive event notifications. Likewise, you can also create and use multiple positions for the same subscription, if needed.\n\n**Note for webhook-based subscriptions:**\nSubscriptions can be used in combination with a publicly accessible webhook API endpoint which is under your control. By registering a webhook API endpoint using the *DeliveryType* \"webhook\" for your subscription, Unity API will call the endpoint whenever new notifications become available on the subscription. Consuming notifications that are available in the subscription's mailbox is still done at your discretion through the same means as with *fetch*-based subscriptions. The webhook enables \"listening\" for arriving notifications and fetching notifications on-demand rather than having to speculatively query the fetch API at regular intervals.\n\nWhen creating a webhook-based subscription, a synchronous validation call to the webhook *DeliveryUrl* will be made. The webhook has to respond successfully and with the expected *ValidationResponse* value in the response (the value must match the *ValidationContext* value provided in the webhook request). Otherwise the subscription will not be created and an error is returned.\n\nSee the [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) in the Notifications Guide and its subchapter about \"Webhook Calls: Validation Message\" for more information.",
        "operationId": "Subscriptions_CreateSubscription",
        "requestBody": {
          "x-name": "request",
          "description": "Information about the subscription to be created, specifying domain information and one or multiple event types.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateSubscriptionRequestModel"
                  }
                ]
              },
              "example": {
                "DeliveryType": "webhook",
                "Domain": {
                  "Type": "Site",
                  "Values": [
                    {
                      "Name": "GSMKey",
                      "Value": "4834-4DD4-E18C-422D-83D6"
                    },
                    {
                      "Name": "SiteKey",
                      "Value": "D215-0317-5DB1-4E2F-B169"
                    }
                  ]
                },
                "EventTypes": [
                  "Endpoint.FileDetection"
                ],
                "Webhook": {
                  "DeliveryContext": "MyCustomCorrelationString",
                  "DeliveryRateInSeconds": 90,
                  "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook"
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Information about the newly created subscription.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateSubscriptionResponseModel"
                    }
                  ]
                },
                "example": {
                  "SubscriptionId": "2f4e8756-0449-456a-bffb-f1b31c99d4be",
                  "DeliveryType": "webhook",
                  "Domain": {
                    "Type": "Site",
                    "Values": [
                      {
                        "Name": "GSMKey",
                        "Value": "27BF-56BA-A8FD-48A4-BF52"
                      },
                      {
                        "Name": "SiteKey",
                        "Value": "6D6B-8A2A-8CB4-415B-AF42"
                      }
                    ]
                  },
                  "EventTypes": [
                    "Endpoint.FileDetection"
                  ],
                  "Webhook": {
                    "DeliveryContext": "MyCustomCorrelationString",
                    "DeliveryRateInSeconds": 90,
                    "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook",
                    "Suspended": false,
                    "Statistics": null
                  },
                  "CreatedDate": "2026-01-14T07:23:18.836169Z",
                  "UpdatedDate": null
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions"
          }
        ]
      }
    },
    "/api/notifications/subscriptions/{subscriptionId}": {
      "get": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Gets information about a specific subscription.",
        "operationId": "Subscriptions_GetSubscription",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to retrieve.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "394d619f-9ac3-47cb-a28d-104fd962e1d8"
          }
        ],
        "responses": {
          "200": {
            "description": "Information about a specific subscription with information on the subscribed domain and event types.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSubscriptionResponseModel"
                    }
                  ]
                },
                "example": {
                  "SubscriptionId": "6f11a09d-1930-41a1-ad63-ddf3078fa45b",
                  "DeliveryType": "fetch",
                  "Domain": {
                    "Type": "Site",
                    "Values": [
                      {
                        "Name": "GSMKey",
                        "Value": "2FA5-B187-1DF7-499F-BFB5"
                      },
                      {
                        "Name": "SiteKey",
                        "Value": "9757-F984-0A31-49E7-87EA"
                      }
                    ]
                  },
                  "EventTypes": [
                    "Endpoint.FileDetection"
                  ],
                  "Webhook": {
                    "DeliveryContext": "MyCustomCorrelationString",
                    "DeliveryRateInSeconds": 90,
                    "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook",
                    "Suspended": false,
                    "Statistics": null
                  },
                  "CreatedDate": "2026-01-14T07:23:18.4764165Z",
                  "UpdatedDate": "2026-02-14T07:23:18.4764165Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/394d619f-9ac3-47cb-a28d-104fd962e1d8"
          }
        ]
      },
      "put": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Edits the information of a specific subscription.",
        "description": "**Note for webhook-based subscriptions:**\nWhen changing the webhook's *DeliveryContext* or *DeliveryUrl* value, a synchronous validation call to the webhook *DeliveryUrl* will be made. The webhook has to respond successfully and with the expected *ValidationResponse* value in the response (the value must match the *ValidationContext* value provided in the webhook request). Otherwise the subscription will not be modified and an error is returned.\n\nSee the subchapter about \"Webhook Calls: Validation Message\" in the [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) of the Notifications Guide for more information.",
        "operationId": "Subscriptions_EditSubscription",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to modify.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "f3404be1-ffcc-49c2-90a7-b83d863cc368"
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "The modifications information for the subscription.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EditSubscriptionRequestModel"
                  }
                ]
              },
              "example": {
                "DeliveryType": "webhook",
                "EventTypes": [
                  "Endpoint.FileDetection"
                ],
                "Webhook": {
                  "DeliveryContext": "MyCustomCorrelationString",
                  "DeliveryRateInSeconds": 90,
                  "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook"
                }
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Information about the modified subscription.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EditSubscriptionResponseModel"
                    }
                  ]
                },
                "example": {
                  "SubscriptionId": "72a56094-8478-4de4-b15d-948fb2ec11b8",
                  "DeliveryType": "webhook",
                  "Domain": {
                    "Type": "Site",
                    "Values": [
                      {
                        "Name": "GSMKey",
                        "Value": "3880-FAC8-DB2B-4815-9C0F"
                      },
                      {
                        "Name": "SiteKey",
                        "Value": "A8F4-3B7B-C8E6-4964-A302"
                      }
                    ]
                  },
                  "EventTypes": [
                    "Endpoint.FileDetection"
                  ],
                  "Webhook": {
                    "DeliveryContext": "MyCustomCorrelationString",
                    "DeliveryRateInSeconds": 90,
                    "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook",
                    "Suspended": false,
                    "Statistics": null
                  },
                  "CreatedDate": "2026-01-14T07:23:18.8518091Z",
                  "UpdatedDate": "2026-04-14T07:21:18.8518091Z"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/f3404be1-ffcc-49c2-90a7-b83d863cc368"
          }
        ]
      },
      "delete": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Unsubscribes from a specific subscription.",
        "description": "Unsubscribing from a subscription means that no more notifications will be made available under this specific subscription.",
        "operationId": "Subscriptions_UnsubscribeSubscription",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to unsubscribe from.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "64c74bb3-3d5f-49fc-8146-6901138ce8a1"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/64c74bb3-3d5f-49fc-8146-6901138ce8a1"
          }
        ]
      }
    },
    "/api/notifications/subscriptions/{subscriptionId}/fetch": {
      "get": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Retrieves the latest notifications for a specific subscription.",
        "description": "This call returns notifications for a subscription in chronologic order as they become available, from earliest to newest notification.\n\nEach call provides up to 1000 notifications. In each subsequent call, specify the *NextPosition* value from the previous response in the *position* query parameter. Please keep in mind that a *position* can only be used with its associated subscription. **It is the responsibility of the caller to keep track of their subscriptions' *position* values and pass them in accordingly.**\n\nThe response also provides an indication whether more notifications are available for the subscription. It is legitimate to immediately fetch subsequent notifications in that case, otherwise do not poll for notifications in very high frequency.\n\nEvent notifications are only stored for a certain number of days. If older notifications are not fetched in due time, they will be discarded.",
        "operationId": "Subscriptions_FetchSubscriptionNotification",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to fetch notifications associated with it.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "e78389f5-84f4-4eee-b47f-1621feb7bb12"
          },
          {
            "name": "position",
            "in": "query",
            "required": true,
            "description": "The position received from a previous request of this API function or from a GeneratePosition call ([see here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions-subscriptionId-position)) to obtain subsequent notifications.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "example": "GRVnChgVZwoy0VvprDPYCJs-AAAAAAAAYzg0MjViMzgtMzg3MS00NWQ5LTk5MGYtZGY4YzhmMjE4NTk4"
          }
        ],
        "responses": {
          "200": {
            "description": "List of notifications about latest events that have occurred.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModel"
                    }
                  ]
                },
                "example": {
                  "SubscriptionId": "b3c62539-112e-4795-9f5f-33999d264af5",
                  "Count": 5,
                  "NextPosition": "b-9LF27vSxfsWtuk9pneCCkJAAAAAAAAYjNjNjI1MzktMTEyZS00Nzk1LTlmNWYtMzM5OTlkMjY0YWY1",
                  "MoreAvailable": false,
                  "Notifications": [
                    {
                      "EventType": "WebThreatShield.UrlAction",
                      "EventObjectName": "WtsUrlActionEvent",
                      "UnityAPIEventId": "d321a9bf-db6e-429b-b8f8-02df7c93293e",
                      "WtsUrlActionEvent": {
                        "Timestamp": "2026-04-14T07:20:18.6955217Z",
                        "GSMKey": null,
                        "GSMConsoleName": null,
                        "SiteKey": "7AF545547021434DB92D",
                        "SiteId": null,
                        "SiteName": null,
                        "MachineId": "928621BDB9D04DCC8EC34B0007F226A7:::3E3B76B637314CA3AE3E3EA64F0ED954:::3E3B76B637314CA3AE3E3EA64F0ED954",
                        "HostName": "MyComputer1",
                        "PublicIP": "95.36.81.30",
                        "BlockDetails": {
                          "ActionTaken": "BLOCK",
                          "BlockedUrl": "http://www.category-domain1.com",
                          "BlockReasonId": 56,
                          "BlockReasonName": "Malware Sites",
                          "BCRI": 10
                        }
                      }
                    },
                    {
                      "EventType": "Endpoint.FileDetection",
                      "EventObjectName": "EndpointFileDetectionEvent",
                      "UnityAPIEventId": "012f53ba-e022-40ee-a184-93c6f97ea951",
                      "EndpointFileDetectionEvent": {
                        "Timestamp": "2026-04-14T07:19:19Z",
                        "GSMKey": "7739D50C14194AE6A9A2",
                        "GSMConsoleName": "My Management Console",
                        "SiteKey": "E1420156F13046599D9E",
                        "SiteId": "691c1c52-637c-fe11-4d33-1edde4dabcea",
                        "SiteName": "My GSM Site 2",
                        "MachineId": "BE9B7A71BAFE4E53800AFF7C850EA279:::98DE757B0D0147F589F685537C2C7E32:::98DE757B0D0147F589F685537C2C7E32",
                        "HostName": "MyComputer2",
                        "PublicIP": "95.242.51.142",
                        "ScanInfo": {
                          "ScanId": "38385549-d1d4-40a5-bc6f-49991569346c",
                          "ScanType": "RT"
                        },
                        "DetectionInfo": {
                          "FileName": "eicar.com",
                          "FilePath": "c:\\users\\user2\\desktop",
                          "FileSize": 68,
                          "FileMD5": "44d88612fea8a8f36de82e1278abb02f",
                          "FileSHA256": "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f",
                          "Determination": "B",
                          "MalwareGroup": "Anti-Malware Testfile"
                        }
                      }
                    },
                    {
                      "EventType": "CRSB.Backup",
                      "EventObjectName": "BackupEvent",
                      "UnityAPIEventId": "c01137e5-c69c-4086-8dd7-452505fd80e0",
                      "BackupEvent": {
                        "Timestamp": "2024-02-01T03:59:42Z",
                        "GSMKey": "7739D50C14194AE6A9A2",
                        "GSMConsoleName": "My Management Console",
                        "SiteKey": "9397FDD64D5249BCACB4",
                        "SiteId": "aad1711e-5322-634a-dce0-5ec37bdd028c",
                        "SiteName": "My GSM Site 3",
                        "MachineId": "3B1E642ADACF40D5BD49F50492F263E1:::0A58B917A63F4E5CBDC248E3C21AB6D9:::0A58B917A63F4E5CBDC248E3C21AB6D9",
                        "HostName": "MyComputer3",
                        "PublicIP": "95.123.156.165",
                        "BackupDetails": {
                          "EventId": "fb373d9b-bcf3-433c-8ebe-17ee8b2b32b5",
                          "Date": "2024-02-01T03:59:42Z",
                          "RealLocalTime": "07/15/2024 12:00:00",
                          "UserId": "123456",
                          "BackupType": "Image",
                          "BackupDeviceId": "77d82c03-fbd7-49cd-9d08-755b9d3b62a9",
                          "BackupDeviceName": "my_device",
                          "BackupLocation": "AwsS3",
                          "BackupJobId": "ba89d88b-62f4-41e2-8d4c-87e2f832fea4",
                          "RetentionModel": "Standard",
                          "RPRealLocalTime": "07/15/2024 12:00:00",
                          "RPId": "fff",
                          "TimeElapsedSec": 9772,
                          "LogLocation": "C:\\Program Files\\2024-02-01T165730.XLOG",
                          "ProtectedSizeBytes": 2629828608,
                          "DeltaSizeBytes": 0,
                          "TransmittedSizeBytes": 0,
                          "Status": "CompletedSuccessful",
                          "StatusReason": "my status reason"
                        }
                      }
                    },
                    {
                      "EventType": "CRSB.Restore",
                      "EventObjectName": "RestoreEvent",
                      "UnityAPIEventId": "f0a57f1a-ace5-4290-8dcf-563dd42486ca",
                      "RestoreEvent": {
                        "Timestamp": "2024-02-01T03:59:42Z",
                        "GSMKey": "7739D50C14194AE6A9A2",
                        "GSMConsoleName": "My Management Console",
                        "SiteKey": "29DBA8841F8242EDB062",
                        "SiteId": "3e31af63-da00-14cb-ae30-866fdb832c69",
                        "SiteName": "My GSM Site 4",
                        "MachineId": "66DE19205A534234A25BA90A67BA47DF:::0A7D50CCD9614BDFA4362E9031428564:::0A7D50CCD9614BDFA4362E9031428564",
                        "HostName": "MyComputer4",
                        "PublicIP": "95.211.164.245",
                        "RestoreDetails": {
                          "EventId": "18a8fd8a-11eb-4a8d-aa5a-b3b545ede5db",
                          "Date": "2024-02-01T03:59:42Z",
                          "RealLocalTime": "07/15/2024 12:00:00",
                          "UserId": "123456",
                          "RecoveryType": "DisasterRecovery",
                          "BackupDeviceId": "902b899d-eb2d-43fd-961b-fd3eb9d27b66",
                          "BackupDeviceName": "my_device",
                          "BackupLocation": "LocalSnapshot",
                          "BackupVolumeName": "C:\\",
                          "DestinationVolumeName": "D:\\",
                          "BackupJobId": "3be1fb1f-3838-4749-ac55-70eba6ecc2a3",
                          "RPRealLocalTime": "07/15/2024 12:00:00",
                          "RealLocalTimeStarted": "07/15/2024 12:00:00",
                          "RPId": "rp_name",
                          "TimeElapsedSec": 143,
                          "LogLocation": "C:\\Program Files\\2024-02-01T165730.XLOG",
                          "RecoveredSizeBytes": 2629828608,
                          "TransmittedSizeBytes": 0,
                          "Status": "CompletedSuccessful",
                          "StatusReason": "my status reason"
                        }
                      }
                    },
                    {
                      "EventType": "CRSB.AgentRegistration",
                      "EventObjectName": "AgentRegistrationEvent",
                      "UnityAPIEventId": "7ba04af7-52f9-475c-97cf-ca5c9b0a87c7",
                      "AgentRegistrationEvent": {
                        "Timestamp": "2024-02-01T03:59:42Z",
                        "GSMKey": "7739D50C14194AE6A9A2",
                        "GSMConsoleName": "My Management Console",
                        "SiteKey": "60E3AD51854A441FA4E9",
                        "SiteId": "f4f5aaf1-b308-949b-6ebc-323f3361af3a",
                        "SiteName": "My GSM Site 5",
                        "MachineId": "D1BFAFCB43324A4A948ADF04855D8EA2:::DF5F4969489D48E38CCAECF4252A8282:::DF5F4969489D48E38CCAECF4252A8282",
                        "HostName": "MyComputer5",
                        "PublicIP": "95.197.152.41",
                        "AgentRegistrationDetails": {
                          "EventId": "af70aeb6-4200-4566-a9ab-dbf5a3a59cd3",
                          "Date": "2024-02-01T03:59:42Z",
                          "BackupDeviceId": "b657febc-012c-4a19-bbc8-373a04f99858",
                          "Status": "Registered"
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/e78389f5-84f4-4eee-b47f-1621feb7bb12/fetch"
          }
        ]
      }
    },
    "/api/notifications/subscriptions/{subscriptionId}/position": {
      "post": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Generates a position token which can be used to start fetching notifications.",
        "operationId": "Subscriptions_GeneratePosition",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription this positional token should refer to.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "b040a996-0f31-40a9-a584-785c8412a85b"
          }
        ],
        "requestBody": {
          "x-name": "request",
          "description": "Details on where the position should point to in Unity's notification queue.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/GeneratePositionRequestModel"
                  }
                ]
              },
              "example": {
                "PositionType": "date",
                "StartDate": "2026-04-14T03:00:00"
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "A positional token which can be used in a fetch call.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GeneratePositionResponseModel"
                    }
                  ]
                },
                "example": {
                  "Position": "kb0wH5C9MB9pdZOs9pneCNIEAAAAAAAAOWNmNjhhMDktMTlkOC00YzQ1LTlhZmYtODA4YWRlNmZiMGJm"
                }
              }
            }
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/b040a996-0f31-40a9-a584-785c8412a85b/position"
          }
        ]
      }
    },
    "/api/notifications/subscriptions/{subscriptionId}/suspendwebhook": {
      "post": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Suspends calls to the subscription's webhook *DeliveryUrl* for informing about new notifications.",
        "operationId": "Subscriptions_SuspendSubscriptionWebhook",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to suspend webhook calls for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "e0c3b496-1b12-408f-b92b-ec75251547ff"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/e0c3b496-1b12-408f-b92b-ec75251547ff/suspendwebhook"
          }
        ]
      }
    },
    "/api/notifications/subscriptions/{subscriptionId}/resumewebhook": {
      "post": {
        "tags": [
          "Notifications: Subscriptions"
        ],
        "summary": "Resumes calls to the subscription's webhook *DeliveryUrl* for informing about new notifications.",
        "description": "When resuming a suspended webhook, a synchronous validation call to the webhook *DeliveryUrl* will be made. The webhook has to respond successfully and with the expected *ValidationResponse* value in the response (the value must match the *ValidationContext* value provided in the webhook request). Otherwise webhook calls will not be resumed and an error is returned.\n\nSee the subchapter about \"Webhook Calls: Validation Message\" in the [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) of the Notifications Guide for more information.",
        "operationId": "Subscriptions_ResumeSubscriptionWebhook",
        "parameters": [
          {
            "name": "subscriptionId",
            "in": "path",
            "required": true,
            "description": "The identifier of the subscription to resume webhook calls for.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1,
            "example": "0ce7d81e-37be-4945-8950-57159fdeb8fc"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "UnityAPISecurity": [
              "Notifications.Subscriptions"
            ]
          }
        ],
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "/api/notifications/subscriptions/0ce7d81e-37be-4945-8950-57159fdeb8fc/resumewebhook"
          }
        ]
      }
    },
    "/api/securecloud/customers": {
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides a paginated list of all end customers, with only active customers included by default. Optionally includes closed customers based on the provided parameters.",
        "operationId": "SecureCloudCustomers_GetAllCustomers",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return. Valid values are between 10 and 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 1,
            "example": "10"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies the number of records to skip, determining the starting point for displaying results. The record index starts from zero.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 2,
            "example": "0"
          },
          {
            "name": "includeClosedCustomers",
            "in": "query",
            "description": "Specifies whether to include closed customers in the results. Set to true to include closed customers; otherwise, only active customers are returned.",
            "schema": {
              "type": "boolean",
              "default": false,
              "nullable": false
            },
            "x-position": 3
          }
        ],
        "responses": {
          "200": {
            "description": "List of end customers.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetAllCustomersResponseModel"
                    }
                  ]
                },
                "example": {
                  "Customers": [
                    {
                      "CustomerId": "0568131f-aa9a-4c84-9be4-4fc87f3694c2",
                      "CustomerNumber": "500021",
                      "Currency": "USD",
                      "CustomerSince": "2026-04-14T07:23:18.945614Z",
                      "IsClosed": false,
                      "Name": "Quixotic Quote",
                      "CustomerType": "Resold",
                      "AddressLine1": "1900 Sample Address Line",
                      "AddressLine2": "",
                      "StateOrProvince": "MS",
                      "Country": "US",
                      "Municipality": "FWB",
                      "PostalCode": "32566",
                      "Website": "http://quixotic-quote.test",
                      "Industry": "Accounting",
                      "Culture": "en-US",
                      "TimeZone": "Central Standard Time",
                      "ExternalCustomerAccountNumber": null,
                      "AutoConvertTrials": true
                    },
                    {
                      "CustomerId": "91dbd5c8-7386-40df-a1c3-03fc3a56ec02",
                      "CustomerNumber": "500021",
                      "Currency": "USD",
                      "CustomerSince": "2026-04-14T07:23:18.945614Z",
                      "IsClosed": false,
                      "Name": "Aston Technologies",
                      "CustomerType": "Resold",
                      "AddressLine1": "1900 St.marks street",
                      "AddressLine2": "",
                      "StateOrProvince": "MS",
                      "Country": "US",
                      "Municipality": "Cantonment",
                      "PostalCode": "32533",
                      "Website": "http://ashtontech.com",
                      "Industry": "Education",
                      "Culture": "en-US",
                      "TimeZone": "Central Standard Time",
                      "ExternalCustomerAccountNumber": null,
                      "AutoConvertTrials": true
                    }
                  ],
                  "Links": {
                    "NextPageLimit": 23,
                    "NextPageOffset": 24
                  },
                  "Meta": {
                    "Page": {
                      "Total": 217
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers?limit=15&offset=0"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers?limit=10"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers?limit=15&offset=0&includeClosedCustomers=false"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}": {
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides information about an end customer.",
        "operationId": "SecureCloudCustomers_GetCustomerById",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "Identifier used to query information about an end customer.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Information about an end customer.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCustomerResponseModel"
                    }
                  ]
                },
                "example": {
                  "CustomerId": "1e0a7a3c-92b7-480d-a48f-a38600f660bf",
                  "CustomerNumber": "500021",
                  "Currency": "USD",
                  "CustomerSince": "2026-04-14T07:23:18.9612006Z",
                  "IsClosed": false,
                  "Name": "Quixotic Quote",
                  "CustomerType": "Resold",
                  "AddressLine1": "1900 Sample Address Line",
                  "AddressLine2": "",
                  "StateOrProvince": "MS",
                  "Country": "US",
                  "Municipality": "FWB",
                  "PostalCode": "32566",
                  "Website": "http://quixotic-quote.test",
                  "Industry": "Accounting",
                  "Culture": "en-US",
                  "TimeZone": "Central Standard Time",
                  "ExternalCustomerAccountNumber": null,
                  "AutoConvertTrials": true
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/users": {
      "post": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Creates a new user for an end customer.",
        "description": "The API returns two distinct status codes based on the outcome of the user creation request:  \n \n*200 OK*: This status code indicates that the user was created successfully, but with a difference in the service configuration compared to the request.  \n \n*201 Created*: This status code is returned when the user was created successfully exactly as requested, without any modifications to the service configuration.  \n \nThese status codes enable the caller to differentiate between user creation with or without configuration changes. \n \n \n\n**Note:** Before calling the [Create User API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-securecloud-customers-customerId-users) method, callers typically fetch the list of available domains and services from the [User Services API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-securecloud-customers-customerId-services) method first. This response provides the available services that can be assigned. Once the domains and services are retrieved, the creation of a user can then proceed by assigning appropriate services and domain. ",
        "operationId": "SecureCloudCustomers_CreateCustomerUser",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          }
        ],
        "requestBody": {
          "x-name": "createCustomerUserRequestModel",
          "description": "Information about the user to be created for the customer.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateCustomerUserRequestModel"
                  }
                ]
              },
              "example": {
                "FirstName": "Richard",
                "LastName": "Illingworth",
                "PhoneNumber": "1234567890",
                "EmailAddress": "richardillingworth@spkuk.co.in",
                "Roles": [
                  "Partner_Administrator",
                  "Billing"
                ],
                "UserServices": [
                  {
                    "ServiceName": "Email Threat Protection",
                    "ServiceConfiguration": [
                      {
                        "Name": "SendQuarantinedMessageReports",
                        "Value": [
                          "true"
                        ]
                      },
                      {
                        "Name": "SendQuarantinedMessageReportsWhenEmpty",
                        "Value": [
                          "true"
                        ]
                      }
                    ]
                  },
                  {
                    "ServiceName": "Exchange",
                    "ServiceConfiguration": [
                      {
                        "Name": "MailboxType",
                        "Value": [
                          "Full"
                        ]
                      },
                      {
                        "Name": "MailboxLocation",
                        "Value": [
                          "USA"
                        ]
                      }
                    ]
                  }
                ],
                "SendWelcomeEmail": true
              }
            }
          },
          "required": true,
          "x-position": 2
        },
        "responses": {
          "200": {
            "description": "Information about the user that was created.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CreateCustomerUserResponseModel"
                    }
                  ]
                },
                "example": {
                  "UserId": "a98b8942-6f9e-4322-9ce5-57abbf26cf3f",
                  "Message": "Sample message",
                  "UserConfigurations": [
                    {
                      "ServiceName": "Email Threat Protection",
                      "ServiceConfiguration": [
                        {
                          "Name": "SendQuarantinedMessageReports",
                          "Value": [
                            "true"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users"
          }
        ]
      },
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides a paginated list of all users associated with an end customer.",
        "operationId": "SecureCloudCustomers_GetAllCustomerUsers",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return. Valid values are between 10 and 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 2,
            "example": "10"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies the number of records to skip, determining the starting point for displaying results. The record index starts from zero.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 3,
            "example": "0"
          }
        ],
        "responses": {
          "200": {
            "description": "List of users associated with an end customer.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetAllCustomerUsersResponseModel"
                    }
                  ]
                },
                "example": {
                  "Users": [
                    {
                      "UserId": "bf47598a-1130-4ae9-80b3-6a5d99adf161",
                      "FirstName": "George Fr.",
                      "LastName": "junior",
                      "PhoneNumber": "1234567890",
                      "EmailAddress": "gfj@etppro.com",
                      "Roles": [
                        "Customer_Administrator",
                        "Billing"
                      ],
                      "Culture": "en-US",
                      "UserServices": [
                        {
                          "ServiceName": "Email Threat Protection"
                        }
                      ]
                    },
                    {
                      "UserId": "7b90d827-1158-4729-87d3-01ad7cf8288f",
                      "FirstName": "Kevin",
                      "LastName": "Dey",
                      "PhoneNumber": "1234567890",
                      "EmailAddress": "kevinde@tsp.co.us",
                      "Roles": [
                        "Billing"
                      ],
                      "Culture": "en-US",
                      "UserServices": [
                        {
                          "ServiceName": "Email Threat Protection"
                        },
                        {
                          "ServiceName": "Office365"
                        }
                      ]
                    }
                  ],
                  "Links": {
                    "NextPageLimit": 16,
                    "NextPageOffset": 17
                  },
                  "Meta": {
                    "Page": {
                      "Total": 214
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users?limit=15&offset=0"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users?limit=10"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/users/{userId}": {
      "patch": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Updates a user for an end customer.",
        "description": "**Note:** This method supports regular JSON patches (partial object updates) only and does not cover JSON Patch (RFC 6902). ",
        "operationId": "SecureCloudCustomers_UpdateCustomerUser",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "A unique id by which the user is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "updateCustomerUserRequestModel",
          "description": "Information about the user to be updated for the customer.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateCustomerUserRequestModel"
                  }
                ]
              },
              "example": {
                "FirstName": "Richard",
                "LastName": "Illingworth",
                "PhoneNumber": "1234567890",
                "Roles": [
                  "Partner_Administrator",
                  "Billing"
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Additional information received while updating the user.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UpdateCustomerUserResponseModel"
                    }
                  ]
                },
                "example": {
                  "Message": "User was updated"
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af"
          }
        ]
      },
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides information about a user.",
        "operationId": "SecureCloudCustomers_GetCustomerUserById",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "A unique id by which the user is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Information about the user.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetCustomerUserResponseModel"
                    }
                  ]
                },
                "example": {
                  "UserId": "7cc2e25e-2610-48ec-a6cb-e6de6d0c8434",
                  "FirstName": "Nixon",
                  "LastName": "Davis",
                  "PhoneNumber": "1234567890",
                  "EmailAddress": "nixondavis@upes.com",
                  "Roles": [
                    "Billing"
                  ],
                  "Culture": "en-US",
                  "UserServices": [
                    {
                      "ServiceName": "Email Threat Protection",
                      "ServiceConfiguration": [
                        {
                          "Name": "SendQuarantinedMessageReports",
                          "Value": [
                            "true"
                          ]
                        },
                        {
                          "Name": "SendQuarantinedMessageReportsWhenEmpty",
                          "Value": [
                            "true"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/users/{userId}/services": {
      "patch": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Updates service and service configuration for an end customer's user.",
        "description": "**Note:** To update user services for a user, callers typically begin by fetching the current service and domain assignments using the [Get User Details API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-securecloud-customers-customerId-users-userId). This response provides the set of services and domains currently assigned to the user. Once retrieved, the caller can modify the configuration as needed by adding, removing, or updating services and then pass the updated data to the [Update User Services API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PATCH-api-securecloud-customers-customerId-users-userId-services). ",
        "operationId": "SecureCloudCustomers_UpdateUserServices",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "A unique id by which the user is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "updateUserServicesRequestModel",
          "description": "Service and service configuration about the user to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateUserServicesRequestModel"
                  }
                ]
              },
              "example": {
                "UserServices": [
                  {
                    "ServiceName": "Office365",
                    "RemoveService": false,
                    "ServiceConfiguration": [
                      {
                        "Name": "UsageLocation",
                        "Value": [
                          "UnitedSates"
                        ]
                      },
                      {
                        "Name": "SelectedLicenses",
                        "Value": [
                          "80b2d799-d2ba-4d2a-8842-fb0d0f3a4b82",
                          "3b555118-da6a-4418-894f-7df1e2096870"
                        ]
                      },
                      {
                        "Name": "IsOffice365Admin",
                        "Value": [
                          "false"
                        ]
                      }
                    ]
                  },
                  {
                    "ServiceName": "Backup Administrator",
                    "RemoveService": true,
                    "ServiceConfiguration": null
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Additional information received while updating user services for the user.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UpdateUserServicesResponseModel"
                    }
                  ]
                },
                "example": {
                  "Message": "User was updated",
                  "UserConfigurations": [
                    {
                      "ServiceName": "Office365",
                      "ServiceConfiguration": [
                        {
                          "Name": "IsOffice365Admin",
                          "Value": [
                            "true"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af/services"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/services": {
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides a list of all customer services.",
        "operationId": "SecureCloudCustomers_GetAllCustomerUserServices",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          }
        ],
        "responses": {
          "200": {
            "description": "A list of services available for a customer.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetAllCustomerUserServicesResponseModel"
                    }
                  ]
                },
                "example": {
                  "Services": [
                    {
                      "ServiceName": "Email Threat Protection",
                      "ProductName": "Advanced Email Threat Protection",
                      "Domain": "spg.com",
                      "Aliases": [
                        "def.spc.com"
                      ],
                      "ServiceConfigurationProperties": [
                        {
                          "Name": "SendQuarantinedMessageReports",
                          "Value": [
                            "true",
                            "false"
                          ],
                          "Type": "Boolean",
                          "Reference": null
                        },
                        {
                          "Name": "SendQuarantinedMessageReportsWhenEmpty",
                          "Value": [
                            "true",
                            "false"
                          ],
                          "Type": "Boolean",
                          "Reference": null
                        }
                      ]
                    },
                    {
                      "ServiceName": "Office365",
                      "ProductName": "Exchange Online Kiosk",
                      "Domain": "spg.com",
                      "Aliases": [
                        "def.spc.com"
                      ],
                      "ServiceConfigurationProperties": [
                        {
                          "Name": "SelectedLicenses",
                          "Value": [
                            "Exchange Online Kiosk"
                          ],
                          "Type": "String[]",
                          "Reference": null
                        },
                        {
                          "Name": "UsageLocation",
                          "Value": null,
                          "Type": "string",
                          "Reference": "O365UsageLocations"
                        },
                        {
                          "Name": "IsOffice365Admin",
                          "Value": [
                            "true",
                            "false"
                          ],
                          "Type": "Boolean",
                          "Reference": null
                        }
                      ]
                    }
                  ],
                  "ConfigurationReferences": [
                    {
                      "ReferenceName": "O365UsageLocations",
                      "ReferenceValues": [
                        "United States",
                        "United Kingdom",
                        "Aruba",
                        "Algeria",
                        "Brunei"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/services"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/subscriptions": {
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides a list of all subscriptions associated with an end customer.",
        "operationId": "SecureCloudCustomers_GetAllSubscriptions",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "includeInactiveSubscriptions",
            "in": "query",
            "description": "Specifies whether to include inactive subscriptions in the results.  \n  \n Set to true to include subscriptions with the following inactive statuses : Cancelled, Not Installed, Scheduled to Uninstall, and Uninstalling.  \n  \n If set to false or omitted, only subscriptions with the following statuses are returned: Active, Trial, Installing, Suspended, and Suspending.",
            "schema": {
              "type": "boolean",
              "default": false,
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "List of subscriptions associated with an end customer.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetAllSubscriptionResponseModel"
                    }
                  ]
                },
                "example": {
                  "Subscriptions": [
                    {
                      "SubscriptionKey": "192837-TESDF-1-spg.com",
                      "ProductName": "Cloud Backup",
                      "Categories": [
                        "Recovery"
                      ],
                      "Domain": "spg.com",
                      "Aliases": [
                        "def.spc.com"
                      ],
                      "IsTrial": false,
                      "SubscriptionTerm": "Monthly",
                      "BillingFrequency": "Monthly",
                      "ExpirationBehavior": "AutoRenew",
                      "SubscriptionStatus": "Active",
                      "StartDate": "2026-03-15T07:23:19.1975386Z",
                      "ExpirationDate": "2026-05-14T07:23:19.1975386Z",
                      "CancellationDate": "2026-03-20T07:23:19.1975386Z",
                      "CancellationGracePeriod": 15,
                      "ScheduledUninstallDate": "2026-05-15T07:23:19.1975386Z",
                      "AvailableActions": {
                        "CanCancel": true,
                        "CanConfigure": true,
                        "CanRestore": true,
                        "CanSuspend": false,
                        "CanUpgrade": false,
                        "CanDowngrade": false
                      }
                    },
                    {
                      "SubscriptionKey": "838192-TESDF-1-spg.com",
                      "ProductName": "Eastwood Endpoint Protection",
                      "Categories": [
                        "Threat Protection"
                      ],
                      "Domain": null,
                      "Aliases": null,
                      "IsTrial": true,
                      "SubscriptionTerm": "Monthly",
                      "BillingFrequency": "Monthly",
                      "ExpirationBehavior": "AutoRenew",
                      "SubscriptionStatus": "Active",
                      "StartDate": "2026-03-15T07:23:19.1975386Z",
                      "ExpirationDate": "2026-05-14T07:23:19.1975386Z",
                      "CancellationDate": "2026-03-20T07:23:19.1975386Z",
                      "CancellationGracePeriod": 10,
                      "ScheduledUninstallDate": "2026-05-15T07:23:19.1975386Z",
                      "AvailableActions": {
                        "CanCancel": true,
                        "CanConfigure": true,
                        "CanRestore": true,
                        "CanSuspend": false,
                        "CanUpgrade": false,
                        "CanDowngrade": false
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions?includeInactiveSubscriptions=true"
          }
        ]
      }
    },
    "/api/securecloud/customers/{customerId}/subscriptions/{subscriptionKey}": {
      "get": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Provides information about a subscription.",
        "description": "**Note:** The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path. ",
        "operationId": "SecureCloudCustomers_GetSubscriptionDetails",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "Identifier used to query information about an end customer.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "subscriptionKey",
            "in": "path",
            "required": true,
            "description": "A unique identifier, either encoded or non-encoded, used to identify a subscription.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription Details.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/GetSubscriptionDetailResponseModel"
                    }
                  ]
                },
                "example": {
                  "SubscriptionKey": "192837-TESDF-1-spg.com",
                  "ProductName": "Cloud Backup",
                  "Categories": [
                    "Recovery"
                  ],
                  "Domain": "spg.com",
                  "Aliases": [
                    "def.spc.com"
                  ],
                  "IsTrial": false,
                  "SubscriptionTerm": "Monthly",
                  "BillingFrequency": "Monthly",
                  "ExpirationBehavior": "AutoRenew",
                  "SubscriptionStatus": "Active",
                  "StartDate": "2026-03-15T07:23:19.2272453Z",
                  "ExpirationDate": "2026-05-14T07:23:19.2272453Z",
                  "CancellationDate": "2026-03-20T07:23:19.2272453Z",
                  "CancellationGracePeriod": 21,
                  "ScheduledUninstallDate": "2026-05-15T07:23:19.2272453Z",
                  "AvailableActions": {
                    "CanCancel": true,
                    "CanConfigure": true,
                    "CanRestore": true,
                    "CanSuspend": false,
                    "CanUpgrade": false,
                    "CanDowngrade": false
                  },
                  "ConfigurableSubscriptionDetails": [
                    {
                      "Name": "SubscriptionQuantity",
                      "Value": "10"
                    }
                  ],
                  "ReadonlySubscriptionDetails": [
                    {
                      "Name": "TotalLicenses",
                      "Value": "15"
                    },
                    {
                      "Name": "AssignedLicenses",
                      "Value": "10"
                    },
                    {
                      "Name": "UnassignedLicenses",
                      "Value": "5"
                    },
                    {
                      "Name": "CanCancelUntilDate",
                      "Value": "2026-05-14T07:23:19.227Z"
                    },
                    {
                      "Name": "CommitmentEndDate",
                      "Value": "2026-05-14T07:23:19.227Z"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q="
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test"
          }
        ]
      },
      "patch": {
        "tags": [
          "SecureCloud: SecureCloud Customers"
        ],
        "summary": "Updates subscription details.",
        "description": "**Note:** This method updates O365 license quantities through regular JSON patches for partial object updates. Note that it does not support JSON Patch operations as defined in RFC 6902.   \n  \n**Requirements:**\n- The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path.\n- Currently limited to O365 license quantity updates only.",
        "operationId": "SecureCloudCustomers_UpdateSubscriptionDetails",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "required": true,
            "description": "A unique id by which an end customer is identified.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 1
          },
          {
            "name": "subscriptionKey",
            "in": "path",
            "required": true,
            "description": "A unique identifier, either encoded or non-encoded, used to identify a subscription.",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 2
          }
        ],
        "requestBody": {
          "x-name": "updateSubscriptionRequestModel",
          "description": "Information about the subscription to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateSubscriptionRequestModel"
                  }
                ]
              },
              "example": {
                "ConfigurableSubscriptionDetails": [
                  {
                    "Name": "SubscriptionQuantity",
                    "Value": "5"
                  }
                ]
              }
            }
          },
          "required": true,
          "x-position": 3
        },
        "responses": {
          "200": {
            "description": "Information received after updating the license quantity.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/UpdateSubscriptionResponseModel"
                    }
                  ]
                },
                "example": {
                  "Message": "The request has been accepted for processing."
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q="
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test"
          }
        ]
      }
    },
    "/api/securecloud/usage/charges": {
      "post": {
        "tags": [
          "SecureCloud: SecureCloud Usage"
        ],
        "summary": "Gets a list of subscription charges. A subscription charge provides a snapshot of a customer's current charges.",
        "description": "**Note:** The response from the charges API varies based on the filters, sorting parameters and fields specified in the request body. For more information, refer to the sections on [Filter Operations and Expressions](https://unityapi.webrootcloudav.com/Docs/APIDoc/Guide#guide-filterFormats) used for filtering results.   \n  \n\nWhen using a cursor, body content is not allowed. In such a case, please construct the URI parameters as follows: 'page[limit]={yourlimit}&amp;page[offset]={youroffset}&amp;filter[chargeCode]={yourchargecode}&amp;filter[isTrial]={true or false}&amp;sort={sort field, e.g. ChargeCode}&amp;sort={secondary sort field, e.g. -Currency}'. Following this, the resulting parameter string needs to be encoded (Base64) and then passed to the cursor as a URI parameter.",
        "operationId": "SecureCloudUsage_GetSubscriptionChargeDetails",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 2,
            "example": "10"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies the number of records to skip, determining the starting point for displaying results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 3,
            "example": "0"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Encoded value of the url. *e.g. ZmlsdGVyW2lzQXV0b1JlbmV3XT1lcTondHJ1ZScmc29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xMCZwYWdlW29mZnNldF09MTA*",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "ZmlsdGVyW2lzT2ZmaWNlMzY1TmNlXT1lcTonZmFsc2UnJnNvcnQ9cHJpY2UmcGFnZVtsaW1pdF09MTAmcGFnZVtvZmZzZXRdPTEw"
          }
        ],
        "requestBody": {
          "x-name": "subscriptionChargeRequest",
          "description": "Additional information containing filters, sort order and a definition of fields that will be included in the response.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SubscriptionChargesRequestModel"
                  }
                ]
              },
              "example": {
                "SubscriptionChargesFilterFields": {
                  "Id": "38416-BACKUP-1-1-BASICUSRS-59",
                  "ChargeCode": "in:BASICUSRS-59,CRSUSRS-3",
                  "ChargeName": "Cloud Charge 1",
                  "ChargeType": "Recurring",
                  "ProductName": "Cloud Product1",
                  "ProductType": "CloudBackup",
                  "BillableItem": "BasicUsers",
                  "Price": "10",
                  "TermPrice": "10",
                  "Currency": "USD",
                  "Quantity": "0",
                  "Total": "0",
                  "Description": "Cloud Charge 1",
                  "SubscriptionStartDate": "2026-04-14T07:23:19.45Z",
                  "SubscriptionCanceled": "false",
                  "SubscriptionCanceledDate": "2026-04-14T07:23:19.45Z",
                  "InitialTerm": "1",
                  "CurrentTerm": "1",
                  "CommitmentTerm": "0",
                  "TermStartDate": "2026-04-14T07:23:19.45Z",
                  "TermEndDate": "2026-07-14T07:23:19.45Z",
                  "IsTrial": "eq:true",
                  "IsAutoRenew": "eq:false",
                  "EffectiveDate": "2026-04-29T07:23:19.45Z",
                  "EndDate": null,
                  "CustomerName": "[TEST] KPR AppRiver Resold",
                  "CustomerType": "Resold",
                  "ProductId": "8d9ebdee-cfc5-4515-b139-ad170101bd25",
                  "PartnerId": "7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b",
                  "SubscriptionId": "38416-BACKUP-1-1",
                  "CustomerId": "d53f91e8-ecb8-4d3b-aec8-ac3601501e0c",
                  "BillToAccountId": "1195c23d-0fe0-435a-ad45-a8eb00d7ed0c"
                },
                "Sorting": {
                  "Parameters": {
                    "ChargeCode": "Ascending",
                    "ChargeName": "Descending",
                    "ChargeType": "Ascending",
                    "ProductName": "Descending",
                    "ProductType": "Ascending",
                    "BillableItem": "Descending",
                    "Price": "Ascending",
                    "TermPrice": "Descending",
                    "Currency": "Ascending",
                    "Quantity": "Descending",
                    "Total": "Ascending",
                    "Description": "Descending",
                    "SubscriptionStartDate": "Ascending",
                    "SubscriptionCanceled": "Descending",
                    "SubscriptionCanceledDate": "Ascending",
                    "InitialTerm": "Descending",
                    "CurrentTerm": "Ascending",
                    "CommitmentTerm": "Descending",
                    "TermStartDate": "Ascending",
                    "TermEndDate": "Descending",
                    "IsTrial": "Ascending",
                    "IsAutoRenew": "Descending",
                    "EffectiveDate": "Ascending",
                    "EndDate": "Descending",
                    "CustomerName": "Ascending",
                    "CustomerType": "Descending"
                  }
                },
                "Fields": {
                  "FieldParam": [
                    "ChargeCode",
                    "CustomerName",
                    "CustomerType",
                    "ChargeName",
                    "IsTrial",
                    "IsAutoRenew",
                    "EffectiveDate",
                    "EndDate",
                    "ChargeType",
                    "ProductName",
                    "ProductType",
                    "BillableItem",
                    "Price",
                    "TermPrice",
                    "Currency",
                    "Quantity",
                    "Total",
                    "Description",
                    "SubscriptionStartDate",
                    "SubscriptionCanceled",
                    "SubscriptionCanceledDate",
                    "InitialTerm",
                    "CurrentTerm",
                    "CommitmentTerm",
                    "TermStartDate",
                    "TermEndDate"
                  ]
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Returns object of subscriptionChargesResponseModel which is the list of subscription charges. A subscription charge is a snapshot of a customer's current charges.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SubscriptionChargesResponseModel"
                    }
                  ]
                },
                "example": {
                  "Data": [
                    {
                      "Type": "subscriptionCharges",
                      "Id": "38416-BACKUP-1-1-BASICUSRS-59",
                      "Attributes": {
                        "ChargeCode": "in:BASICUSRS-59,CRSUSRS-3",
                        "ChargeName": "Cloud Charge 1",
                        "ChargeType": "Recurring",
                        "ProductName": "Cloud Product1",
                        "ProductType": "CloudBackup",
                        "BillableItem": "BasicUsers",
                        "Price": 10.0,
                        "TermPrice": 10.0,
                        "Currency": "USD",
                        "Quantity": 0,
                        "Total": 0.0,
                        "Description": "Cloud Charge 1",
                        "SubscriptionStartDate": "2026-04-14T07:23:19.4617886Z",
                        "SubscriptionCanceled": false,
                        "SubscriptionCanceledDate": "2026-04-14T07:23:19.4617886Z",
                        "InitialTerm": 1,
                        "CurrentTerm": 1,
                        "CommitmentTerm": 0,
                        "TermStartDate": "2026-04-14T07:23:19.4617886Z",
                        "TermEndDate": "2026-07-14T07:23:19.4617886Z",
                        "IsTrial": true,
                        "IsAutoRenew": false,
                        "EffectiveDate": "2026-04-29T07:23:19.4617886Z",
                        "EndDate": null,
                        "CustomerName": "[TEST] KPR AppRiver Resold",
                        "CustomerType": "Resold"
                      },
                      "Relationships": {
                        "Product": {
                          "Data": {
                            "Type": "products",
                            "Id": "8d9ebdee-cfc5-4515-b139-ad170101bd25",
                            "Meta": {}
                          }
                        },
                        "Partner": {
                          "Data": {
                            "Type": "partners",
                            "Id": "7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b",
                            "Meta": {}
                          }
                        },
                        "Subscription": {
                          "Data": {
                            "Type": "subscriptions",
                            "Id": "38416-BACKUP-1-1",
                            "Meta": {}
                          }
                        },
                        "Customer": {
                          "Data": {
                            "Type": "",
                            "Id": "d53f91e8-ecb8-4d3b-aec8-ac3601501e0c",
                            "Meta": {}
                          }
                        },
                        "BillToAccount": {
                          "Data": {
                            "Type": "billingAccounts",
                            "Id": "1195c23d-0fe0-435a-ad45-a8eb00d7ed0c",
                            "Meta": {}
                          }
                        }
                      }
                    }
                  ],
                  "Links": {
                    "NextPageLimit": 10,
                    "NextPageOffset": 10
                  },
                  "Meta": {
                    "Page": {
                      "Total": 10
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges?limit=15&offset=0"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges?limit=10"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges?cursor=c29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xJnBhZ2Vbb2Zmc2V0XT0x"
          }
        ]
      }
    },
    "/api/securecloud/usage/charges/events": {
      "post": {
        "tags": [
          "SecureCloud: SecureCloud Usage"
        ],
        "summary": "Gets a list of subscription charge events. A subscription charge event is triggered when a customer subscription is created, renewed, or when the usage or license count for a subscription is adjusted.",
        "description": "**Note:** The response from the charges API varies based on the filters, sorting parameters and fields specified in the request body. For more information, refer to the sections on [Filter Operations and Expressions](https://unityapi.webrootcloudav.com/Docs/APIDoc/Guide#guide-filterFormats) used for filtering results.   \n  \n\nWhen using a cursor, body content is not allowed. In such a case, please construct the URI parameters as follows: 'page[limit]={yourlimit}&amp;page[offset]={youroffset}&amp;filter[chargeCode]={yourchargecode}&amp;filter[isTrial]={true or false}&amp;sort={sort field, e.g. ChargeCode}&amp;sort={secondary sort field, e.g. -Currency}'. Following this, the resulting parameter string needs to be encoded (Base64) and then passed to the cursor as a URI parameter.",
        "operationId": "SecureCloudUsage_GetSubscriptionChargeEventsDetails",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 2,
            "example": "10"
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Specifies the number of records to skip, determining the starting point for displaying results.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "nullable": false
            },
            "x-position": 3,
            "example": "0"
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Encoded value of the url. *e.g. ZmlsdGVyW2lzQXV0b1JlbmV3XT1lcTondHJ1ZScmc29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xMCZwYWdlW29mZnNldF09MTA*",
            "schema": {
              "type": "string",
              "nullable": false
            },
            "x-position": 4,
            "example": "ZmlsdGVyW2lzT2ZmaWNlMzY1TmNlXT1lcTonZmFsc2UnJnNvcnQ9cHJpY2UmcGFnZVtsaW1pdF09MTAmcGFnZVtvZmZzZXRdPTEw"
          }
        ],
        "requestBody": {
          "x-name": "subscriptionChargeEventsRequest",
          "description": "Additional information containing filters, sort order and a definition of fields that will be included in the response.",
          "content": {
            "application/json": {
              "schema": {
                "nullable": false,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SubscriptionChargesEventsRequestModel"
                  }
                ]
              },
              "example": {
                "SubscriptionChargesEventFilterFields": {
                  "Id": "38416-BACKUP-1-1-BASICUSRS-59",
                  "ChargeCode": "in:BASICUSRS-59,CRSUSRS-3",
                  "ChargeName": "Cloud Charge 1",
                  "ChargeType": "Recurring",
                  "ProductName": "Cloud Product1",
                  "ProductType": "eq:CloudBackup",
                  "IsOffice365Nce": "true",
                  "BillableItem": "BasicUsers",
                  "Price": "10",
                  "TermPrice": "10",
                  "Currency": "USD",
                  "Quantity": "0",
                  "PreviousQuantity": "0",
                  "Total": "0",
                  "EventType": "ne:Renewal",
                  "Description": "Cloud Charge 1",
                  "SubscriptionStartDate": "2026-04-14T07:23:19.664Z",
                  "SubscriptionCanceled": "false",
                  "SubscriptionCanceledDate": "2026-04-14T07:23:19.664Z",
                  "InitialTerm": "1",
                  "CurrentTerm": "1",
                  "CommitmentTerm": "0",
                  "TermStartDate": "2026-04-14T07:23:19.664Z",
                  "TermEndDate": "2026-07-14T07:23:19.664Z",
                  "IsTrial": "eq:true",
                  "IsAutoRenew": "eq:false",
                  "EffectiveDate": "2026-04-29T07:23:19.664Z",
                  "EndDate": "2026-04-14T07:23:19.664Z",
                  "SubscriptionProductUpdated": "false",
                  "SubscriptionProductUpdatedDate": "2026-04-14T07:23:19.664Z",
                  "CustomerName": "[TEST] KPR AppRiver Resold",
                  "CustomerType": "Resold",
                  "ProductId": "8d9ebdee-cfc5-4515-b139-ad170101bd25",
                  "PartnerId": "7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b",
                  "SubscriptionId": "38416-BACKUP-1-1",
                  "CustomerId": "d53f91e8-ecb8-4d3b-aec8-ac3601501e0c",
                  "BillToAccountId": "1195c23d-0fe0-435a-ad45-a8eb00d7ed0c"
                },
                "Sorting": {
                  "Parameters": {
                    "ChargeCode": "Ascending",
                    "ChargeName": "Descending",
                    "ChargeType": "Ascending",
                    "ProductName": "Descending",
                    "ProductType": "Ascending",
                    "IsOffice365Nce": "Descending",
                    "BillableItem": "Ascending",
                    "Price": "Descending",
                    "TermPrice": "Ascending",
                    "Currency": "Descending",
                    "Quantity": "Ascending",
                    "PreviousQuantity": "Descending",
                    "Total": "Ascending",
                    "EventType": "Descending",
                    "Description": "Ascending",
                    "SubscriptionStartDate": "Descending",
                    "SubscriptionCanceled": "Ascending",
                    "SubscriptionCanceledDate": "Descending",
                    "InitialTerm": "Ascending",
                    "CurrentTerm": "Descending",
                    "CommitmentTerm": "Ascending",
                    "TermStartDate": "Descending",
                    "TermEndDate": "Ascending",
                    "IsTrial": "Descending",
                    "IsAutoRenew": "Ascending",
                    "EffectiveDate": "Descending",
                    "EndDate": "Ascending",
                    "SubscriptionProductUpdated": "Descending",
                    "SubscriptionProductUpdatedDate": "Ascending",
                    "CustomerName": "Descending",
                    "CustomerType": "Ascending"
                  }
                },
                "Fields": {
                  "FieldParam": [
                    "ChargeCode",
                    "ChargeName",
                    "ChargeType",
                    "ProductName",
                    "ProductType",
                    "IsOffice365Nce",
                    "BillableItem",
                    "Price",
                    "TermPrice",
                    "Currency",
                    "Quantity",
                    "PreviousQuantity",
                    "Total",
                    "EventType",
                    "Description",
                    "SubscriptionStartDate",
                    "SubscriptionCanceled",
                    "SubscriptionCanceledDate",
                    "InitialTerm",
                    "CurrentTerm",
                    "CommitmentTerm",
                    "TermStartDate",
                    "TermEndDate",
                    "IsTrial",
                    "IsAutoRenew",
                    "EffectiveDate",
                    "EndDate",
                    "SubscriptionProductUpdated",
                    "SubscriptionProductUpdatedDate",
                    "CustomerName",
                    "CustomerType"
                  ]
                }
              }
            }
          },
          "required": true,
          "x-position": 1
        },
        "responses": {
          "200": {
            "description": "Returns object of subscriptionChargeEventsResponseModel which is list of subscription charge events. A subscription charge event occurs when a customer subscription is created or renewed, or the usage or license count is adjusted for a subscription.",
            "content": {
              "application/json": {
                "schema": {
                  "nullable": true,
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SubscriptionChargesEventsResponseModel"
                    }
                  ]
                },
                "example": {
                  "Data": [
                    {
                      "Type": "subscriptionChargeEvents",
                      "Id": "38416-BACKUP-1-1-BASICUSRS-59",
                      "Attributes": {
                        "ChargeCode": "in:BASICUSRS-59,CRSUSRS-3",
                        "ChargeName": "Cloud Charge 1",
                        "ChargeType": "Recurring",
                        "ProductName": "Cloud Product1",
                        "ProductType": "eq:CloudBackup",
                        "IsOffice365Nce": true,
                        "BillableItem": "BasicUsers",
                        "Price": 10.0,
                        "TermPrice": 10.0,
                        "Currency": "USD",
                        "Quantity": 0.0,
                        "PreviousQuantity": 0.0,
                        "Total": 0.0,
                        "EventType": "ne:Renewal",
                        "Description": "Cloud Charge 1",
                        "SubscriptionStartDate": "2026-04-14T07:23:19.6649875Z",
                        "SubscriptionCanceled": false,
                        "SubscriptionCanceledDate": "2026-04-14T07:23:19.6649875Z",
                        "InitialTerm": 1,
                        "CurrentTerm": 1,
                        "CommitmentTerm": 0,
                        "TermStartDate": "2026-04-14T07:23:19.6649875Z",
                        "TermEndDate": "2026-07-14T07:23:19.6649875Z",
                        "IsTrial": true,
                        "IsAutoRenew": false,
                        "EffectiveDate": "2026-04-29T07:23:19.6649875Z",
                        "EndDate": null,
                        "SubscriptionProductUpdated": false,
                        "SubscriptionProductUpdatedDate": null,
                        "CustomerName": "[TEST] KPR AppRiver Resold",
                        "CustomerType": "Resold"
                      },
                      "Relationships": {
                        "Product": {
                          "Data": {
                            "Type": "products",
                            "Id": "8d9ebdee-cfc5-4515-b139-ad170101bd25",
                            "Meta": {}
                          }
                        },
                        "Partner": {
                          "Data": {
                            "Type": "partners",
                            "Id": "7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b",
                            "Meta": {}
                          }
                        },
                        "Subscription": {
                          "Data": {
                            "Type": "subscriptions",
                            "Id": "38416-BACKUP-1-1",
                            "Meta": {}
                          }
                        },
                        "Customer": {
                          "Data": {
                            "Type": "customers",
                            "Id": "d53f91e8-ecb8-4d3b-aec8-ac3601501e0c",
                            "Meta": {
                              "CustomerNumber": "45382"
                            }
                          }
                        },
                        "BillToAccount": {
                          "Data": {
                            "Type": "billingAccounts",
                            "Id": "1195c23d-0fe0-435a-ad45-a8eb00d7ed0c",
                            "Meta": {
                              "BillToAccountNumber": "C10002-1"
                            }
                          }
                        }
                      }
                    }
                  ],
                  "Links": {
                    "NextPageLimit": 10,
                    "NextPageOffset": 10
                  },
                  "Meta": {
                    "Page": {
                      "Total": 10
                    }
                  }
                }
              }
            }
          }
        },
        "x-code-samples": [
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges/events?limit = 15&offset=0"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges/events?limit=10"
          },
          {
            "lang": "HTTP",
            "label": "URL",
            "source": "api/securecloud/usage/charges/events?cursor=c29ydD1DaGFyZ2VDb2RlJnBhZ2VbbGltaXRdPTEmcGFnZVtvZmZzZXRdPTE="
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AgentStatus": {
        "type": "object",
        "description": "Data model returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "QueryResults": {
            "type": "array",
            "description": "Endpoint information matching the given query parameters.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EndpointInfo"
            }
          },
          "ContinuationToken": {
            "type": "string",
            "description": "Provides a continuation token for follow-up calls if more data is available than the given batch size.",
            "nullable": true
          },
          "ContinuationURI": {
            "type": "string",
            "description": "Provides a URI for follow-up calls if more data is available than the given batch size.",
            "nullable": true
          },
          "Count": {
            "type": "integer",
            "description": "Contains the number of endpoints returned in the current request.",
            "format": "int32"
          }
        }
      },
      "EndpointInfo": {
        "type": "object",
        "description": "Class containing all requested information about a single endpoint",
        "additionalProperties": false,
        "properties": {
          "BasicInfo": {
            "description": "Basic Information about an endpoint",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/BasicInfo"
              }
            ]
          },
          "ExtendedInfo": {
            "description": "Extended Information about an endpoint",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ExtendedInfo"
              }
            ]
          },
          "TimesAndStats": {
            "description": "Last execution times and stats of an endpoint",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/TimesAndStats"
              }
            ]
          },
          "Scheduling": {
            "description": "Information about scheduled scans",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Scheduling"
              }
            ]
          },
          "EnabledFeatures": {
            "description": "Overview of enabled features",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EnabledFeatures"
              }
            ]
          },
          "SystemAnalyzer": {
            "description": "System analyzer scores",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SystemAnalyzer"
              }
            ]
          },
          "OSAndVersions": {
            "description": "Networking/Operating system details and versions",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/OSAndVersions"
              }
            ]
          },
          "MasterKC": {
            "type": "string",
            "description": "Master keycode of the endpoint",
            "nullable": true
          },
          "KC": {
            "type": "string",
            "description": "Site keycode of the endpoint",
            "nullable": true
          },
          "MachineID": {
            "type": "string",
            "description": "Machine ID of the endpoint",
            "nullable": true
          },
          "LastChanged": {
            "type": "string",
            "description": "Specifies, when the information was last changed",
            "format": "date-time",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "Host name of the endpoint",
            "nullable": true
          },
          "IPAddress": {
            "type": "string",
            "description": "IP Address of the endpoint",
            "nullable": true
          },
          "ClientVersion": {
            "type": "string",
            "description": "Client version of the endpoint",
            "nullable": true
          },
          "OS": {
            "type": "string",
            "description": "Operating system of the endpoint",
            "nullable": true
          },
          "FirstSeen": {
            "type": "string",
            "description": "Date when endpoint was first seen",
            "format": "date-time",
            "nullable": true
          },
          "LastSeen": {
            "type": "string",
            "description": "Date when endpoint was last seen",
            "format": "date-time",
            "nullable": true
          },
          "TimesSeen": {
            "type": "integer",
            "description": "Number of times the endpoint was seen",
            "format": "int32"
          },
          "Hidden": {
            "type": "boolean",
            "description": "Visibility of the endpoint. If set to true, the endpoint is hidden"
          },
          "Deactivated": {
            "type": "boolean",
            "description": "Activation status of the endpoint. If set to true, the endpoint is deactivted"
          },
          "ActivationStatusTime": {
            "type": "string",
            "description": "Date when activation status was set",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "BasicInfo": {
        "type": "object",
        "description": "Basic information returned by agent status queries",
        "additionalProperties": false,
        "properties": {
          "StatusRefreshTime": {
            "type": "string",
            "description": "The timestamp of the latest status update, as seen by the local agent",
            "format": "date-time",
            "nullable": true
          },
          "Managed": {
            "type": "boolean",
            "description": "Is the policy managed"
          },
          "SKU": {
            "type": "string",
            "description": "The type of WSA license key",
            "nullable": true
          },
          "PartnerNumber": {
            "type": "integer",
            "description": "Agent RC/Partner code",
            "format": "int32"
          },
          "Version": {
            "type": "string",
            "description": "Program/Engine Version",
            "nullable": true
          },
          "ActiveThreats": {
            "type": "integer",
            "description": "Number of active, uncleaned threats",
            "format": "int32"
          },
          "DeviceType": {
            "type": "string",
            "description": "Type of device",
            "nullable": true
          },
          "AttentionRequired": {
            "type": "boolean",
            "description": "Infected and requires attention"
          },
          "Infected": {
            "type": "boolean",
            "description": "Is the system infected or not"
          }
        }
      },
      "ExtendedInfo": {
        "type": "object",
        "description": "Extended information returned by agent status queries",
        "additionalProperties": false,
        "properties": {
          "Uninstalled": {
            "type": "boolean",
            "description": "Uninstalled (sent on last ping to the cloud)"
          },
          "Language": {
            "type": "string",
            "description": "Product Language",
            "nullable": true
          },
          "IsExpired": {
            "type": "boolean",
            "description": "Is the product currently expired"
          },
          "DaysRemaining": {
            "type": "integer",
            "description": "Days remaining on license key",
            "format": "int32"
          },
          "ExpirationDate": {
            "type": "string",
            "description": "Expiration date",
            "format": "date-time",
            "nullable": true
          },
          "RemediationEnabled": {
            "type": "boolean",
            "description": "Remediation is enabled on the device"
          },
          "ThreatBlocked": {
            "type": "boolean",
            "description": "A file was just blocked in realtime and did not become active"
          },
          "WasJustInfected": {
            "type": "boolean",
            "description": "Clean now but was previously just infected"
          },
          "HasBeenInfected": {
            "type": "boolean",
            "description": "Clean - items in quarantine/it was infected at some point before"
          },
          "LatestThreat": {
            "type": "string",
            "description": "The type of the most recent threat which was seen - a malware group or \"Local override\"",
            "nullable": true
          },
          "CurrentlyCleaning": {
            "type": "boolean",
            "description": "Infected – clean up in progress"
          },
          "CleanShutdown": {
            "type": "boolean",
            "description": "Did the agent shut down successfully or not"
          },
          "ManualAgentShutdown": {
            "type": "boolean",
            "description": "Manual Agent Shutdown initiated"
          },
          "AgentStartupTime": {
            "type": "string",
            "description": "Agent Startup",
            "format": "date-time",
            "nullable": true
          },
          "SystemState": {
            "type": "integer",
            "description": "System State",
            "format": "int32"
          },
          "SystemStateUpdated": {
            "type": "string",
            "description": "Last system state change time",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "TimesAndStats": {
        "type": "object",
        "description": "Last execution times and statuses returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "LastGarbageRemovalTime": {
            "type": "string",
            "description": "Last system garbage cleanup time",
            "format": "date-time",
            "nullable": true
          },
          "LastGarbageRemovalSize": {
            "type": "integer",
            "description": "Last space recovered from System Cleaner",
            "format": "int32"
          },
          "TotalGarbageRemovalSize": {
            "type": "integer",
            "description": "Total space recovered by System Cleaner",
            "format": "int32"
          },
          "LastScan": {
            "type": "string",
            "description": "Last time a system scan was run",
            "format": "date-time",
            "nullable": true
          },
          "LastScanDuration": {
            "type": "integer",
            "description": "Duration of the last scan in seconds",
            "format": "int32"
          },
          "LastScanCount": {
            "type": "integer",
            "description": "Number of files scanned in the last scan",
            "format": "int32"
          },
          "ScanCount": {
            "type": "integer",
            "description": "Number of Scans",
            "format": "int32"
          },
          "ThreatsRemoved": {
            "type": "integer",
            "description": "Number of threats removed",
            "format": "int32"
          },
          "LastQuickScan": {
            "type": "string",
            "description": "Last quick scan",
            "format": "date-time",
            "nullable": true
          },
          "LastQuickScanDuration": {
            "type": "integer",
            "description": "Last quick scan duration",
            "format": "int32"
          },
          "LastFullScan": {
            "type": "string",
            "description": "Last full scan",
            "format": "date-time",
            "nullable": true
          },
          "LastFullScanDuration": {
            "type": "integer",
            "description": "Last full scan duration",
            "format": "int32"
          },
          "LastCustomScan": {
            "type": "string",
            "description": "Last custom scan",
            "format": "date-time",
            "nullable": true
          },
          "LastCustomScanDuration": {
            "type": "integer",
            "description": "Last custom scan duration",
            "format": "int32"
          },
          "LastDeepScan": {
            "type": "string",
            "description": "Last deep scan",
            "format": "date-time",
            "nullable": true
          },
          "LastDeepScanDuration": {
            "type": "integer",
            "description": "Last deep scan duration",
            "format": "int32"
          }
        }
      },
      "Scheduling": {
        "type": "object",
        "description": "Settings for scheduled operations returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "ScheduledScansEnabled": {
            "type": "boolean",
            "description": "Are scheduled scans enabled"
          },
          "ScheduledScanFrequency": {
            "type": "integer",
            "description": "The scan frequency as defined by the numbers below \n1. Daily\n2. Sunday\n3. Monday\n4. Tuesday\n5. Wednesday\n6. Thursday\n7. Friday\n8. Saturday",
            "format": "int32"
          },
          "ScheduledScanTime": {
            "type": "string",
            "description": "Scheduled scan time",
            "nullable": true
          },
          "ScanWhenIdle": {
            "type": "boolean",
            "description": "Scan when Idle"
          },
          "ScanOnBootup": {
            "type": "boolean",
            "description": "Scans on Bootup if the computer is off at the scheduled time"
          },
          "ActiveScans": {
            "type": "integer",
            "description": "The number of actively running scans",
            "format": "int32"
          }
        }
      },
      "EnabledFeatures": {
        "type": "object",
        "description": "Enabled agent features returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "ProtectionEnabled": {
            "type": "boolean",
            "description": "Realtime Shield Enabled"
          },
          "RootkitShieldEnabled": {
            "type": "boolean",
            "description": "Rootkit Shield Enabled"
          },
          "WebThreatShieldEnabled": {
            "type": "boolean",
            "description": "Web Shield Enabled"
          },
          "USBShieldEnabled": {
            "type": "boolean",
            "description": "USB Shield Enabled"
          },
          "OfflineShieldEnabled": {
            "type": "boolean",
            "description": "Offline Shield Enabled"
          },
          "ScriptShieldStatus": {
            "type": "integer",
            "description": "Evasion Shield - Script Protection Status. The value, if available, indicates the enabled status and operation mode of script protection functionality. Possible values are: \n- 0 = Disabled\n- 1 = Detect and Remediate\n- 2 = Detect and Report\n\nIf the *ScriptShieldStatus* value is null, the version of the endpoint does not support Evasion Shield script protection functionality.",
            "format": "int32",
            "nullable": true
          },
          "FirewallEnabled": {
            "type": "boolean",
            "description": "Firewall Enabled"
          },
          "InfraredEnabled": {
            "type": "boolean",
            "description": "Webroot Infrared Enabled"
          },
          "IDShieldEnabled": {
            "type": "boolean",
            "description": "Identity Shield Enabled"
          },
          "PhishingShieldEnabled": {
            "type": "boolean",
            "description": "Phishing Shield Enabled"
          },
          "IsSilent": {
            "type": "boolean",
            "description": "Silent agent"
          }
        }
      },
      "SystemAnalyzer": {
        "type": "object",
        "description": "System analyzer results returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "SystemAnalyzerScore": {
            "type": "integer",
            "description": "System Analyzer score",
            "format": "int32"
          },
          "HardwareScore": {
            "type": "string",
            "description": "Hardware status from SA",
            "nullable": true
          },
          "SoftwareScore": {
            "type": "string",
            "description": "Software status from SA",
            "nullable": true
          },
          "ThreatsScore": {
            "type": "string",
            "description": "Threats status from SA",
            "nullable": true
          }
        }
      },
      "OSAndVersions": {
        "type": "object",
        "description": "Operating system and software versions returned by agent status calls",
        "additionalProperties": false,
        "properties": {
          "OSBuild": {
            "type": "integer",
            "description": "OS build number",
            "format": "int32"
          },
          "OSPlatform": {
            "type": "integer",
            "description": "Platform (32/64bit)",
            "format": "int32"
          },
          "OSLanguage": {
            "type": "integer",
            "description": "Language code (1033, 1041, etc.)",
            "format": "int32"
          },
          "CurrentUser": {
            "type": "string",
            "description": "Active user name",
            "nullable": true
          },
          "NumUsers": {
            "type": "integer",
            "description": "Usernames which are currently logged on",
            "format": "int32"
          },
          "MaxUsers": {
            "type": "integer",
            "description": "Maximum number of users who have logged on this session",
            "format": "int32"
          },
          "internalIP": {
            "type": "string",
            "description": "Internal IP",
            "nullable": true
          },
          "MACAddress": {
            "type": "string",
            "description": "Mac address",
            "nullable": true
          },
          "ADSTRING": {
            "type": "string",
            "description": "Active Directory string",
            "nullable": true
          },
          "Workgroup": {
            "type": "string",
            "description": "Workgroup",
            "nullable": true
          },
          "DNSServer": {
            "type": "string",
            "description": "DNS server configured on the system",
            "nullable": true
          },
          "BinType": {
            "type": "string",
            "description": "The BinType of the original WSA installer",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "User's email address",
            "nullable": true
          },
          "OtherAVProduct": {
            "type": "string",
            "description": "Other AV product installed",
            "nullable": true
          },
          "OtherAVProductVersion": {
            "type": "string",
            "description": "Other AV product version",
            "nullable": true
          },
          "IsOtherAVEnabled": {
            "type": "boolean",
            "description": "Is the other AV product enabled"
          },
          "IsOtherAVUpdated": {
            "type": "boolean",
            "description": "Is the other AV up to date"
          },
          "PrimaryBrowser": {
            "type": "string",
            "description": "Primary browser",
            "nullable": true
          },
          "PrimaryBrowserVersion": {
            "type": "string",
            "description": "Browser version",
            "nullable": true
          },
          "IsFirewallEnabled": {
            "type": "boolean",
            "description": "Is the Windows firewall enabled"
          },
          "IsVirtualMachine": {
            "type": "boolean",
            "description": "Is the user on a virtual machine"
          },
          "IPV4": {
            "type": "string",
            "description": "IPV4 - Identical to InternalIP",
            "nullable": true
          },
          "IPV6": {
            "type": "string",
            "description": "IPV6",
            "nullable": true
          },
          "FQDN": {
            "type": "string",
            "description": "FQDN",
            "nullable": true
          },
          "NTDOMAIN": {
            "type": "string",
            "description": "NTDOMAIN",
            "nullable": true
          },
          "LDAPOID": {
            "type": "string",
            "description": "LDAPOID",
            "nullable": true
          },
          "LDAPDN": {
            "type": "string",
            "description": "LDAPDN",
            "nullable": true
          }
        }
      },
      "DNSPAgentStatus": {
        "type": "object",
        "description": "Provides status information for the DNS Protection software installed on endpoints.",
        "additionalProperties": false,
        "properties": {
          "QueryResults": {
            "type": "array",
            "description": "Endpoint information matching the given query parameters.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DNSPEndpointInfo"
            }
          },
          "ContinuationToken": {
            "type": "string",
            "description": "Provides a continuation token for follow-up calls if more data is available than the given batch size.",
            "nullable": true
          },
          "ContinuationURI": {
            "type": "string",
            "description": "Provides a URI for follow-up calls if more data is available than the given batch size.",
            "nullable": true
          },
          "Count": {
            "type": "integer",
            "description": "Contains the number of DNSP endpoints returned in the current request.",
            "format": "int32"
          }
        }
      },
      "DNSPEndpointInfo": {
        "type": "object",
        "description": "Provides status information for the DNS Protection software installed on an endpoint",
        "additionalProperties": false,
        "properties": {
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "IsVirtualMachine": {
            "type": "boolean",
            "description": "Indicates if an endpoint is a VM."
          },
          "DNSAgentStatus": {
            "type": "string",
            "description": "The status of the DNSP agent software installed on the endpoint. \n\nPossible values are: \n- Installed\n- Uninstalled",
            "nullable": true
          },
          "InstalledDate": {
            "type": "string",
            "description": "The date when the DNSP agent software was installed on the endpoint.",
            "format": "date-time"
          },
          "UninstalledDate": {
            "type": "string",
            "description": "The date when the DNSP agent software was removed from the endpoint. This value will only be available when the agent software has been uninstalled.",
            "format": "date-time",
            "nullable": true
          },
          "AgentVersion": {
            "type": "string",
            "description": "The DNSP agent software version.",
            "nullable": true
          },
          "LastSeenDate": {
            "type": "string",
            "description": "The date when activity from the DNSP agent was last seen.",
            "format": "date-time",
            "nullable": true
          },
          "LastModifiedDate": {
            "type": "string",
            "description": "The date when the DNSP agent software was modified on the endpoint.",
            "format": "date-time",
            "nullable": true
          },
          "TrafficCountLast24Hours": {
            "type": "integer",
            "description": "The number of DNS requests made by the DNSP agent in the last 24 hours. *Note:* This value is updated about every 15 minutes.",
            "format": "int64"
          },
          "DNSPolicyID": {
            "type": "string",
            "description": "The identifier of the DNS Protection policy associated with the endpoint.",
            "nullable": true
          },
          "DNSPolicyName": {
            "type": "string",
            "description": "The Name of the DNS Protection policy associated with the endpoint.",
            "nullable": true
          },
          "MachineID": {
            "type": "string",
            "description": "The machine identifier associated with the endpoint.",
            "nullable": true
          },
          "KC": {
            "type": "string",
            "description": "The keycode of the GSM site the endpoint is reporting to.",
            "nullable": true
          },
          "MasterKC": {
            "type": "string",
            "description": "The keycode of the GSM parent console the endpoint is reporting to.",
            "nullable": true
          }
        }
      },
      "KeycodeUsage": {
        "type": "object",
        "description": "Data model returned by keycode usage API calls",
        "additionalProperties": false,
        "properties": {
          "QueryResults": {
            "type": "array",
            "description": "Seat count statistics matching the given query parameters",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageInfo"
            }
          },
          "ContinuationToken": {
            "type": "string",
            "description": "Provides a continuation token for follow-up calls if more data is available than the given batch size.",
            "nullable": true
          },
          "ContinuationURI": {
            "type": "string",
            "description": "Provides a URI for follow-up calls if more data is available than the given batch size",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "End date up to which usage statistics is collected",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UsageInfo": {
        "type": "object",
        "description": "Class containing usage information for a given keycode",
        "additionalProperties": false,
        "properties": {
          "PeriodInfo": {
            "type": "array",
            "description": "Seat count statistics matching the given query parameters",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsagePeriodInfo"
            }
          },
          "KC": {
            "type": "string",
            "description": "Keycode for which usage statistics are returned",
            "nullable": true
          }
        }
      },
      "UsagePeriodInfo": {
        "type": "object",
        "description": "Class containing usage information for a given keycode",
        "additionalProperties": false,
        "properties": {
          "Period": {
            "type": "integer",
            "description": "Length of the period in days",
            "format": "int32"
          },
          "Seen": {
            "type": "integer",
            "description": "Indicates how often the keycode was seen in this period",
            "format": "int32"
          }
        }
      },
      "UsageReportGSM": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (GSM level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_ReportInfo"
              }
            ]
          },
          "GSM": {
            "description": "Details for a given GSM console.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_GSMEntry"
              }
            ]
          }
        }
      },
      "UsageReportGSM_ReportInfo": {
        "type": "object",
        "description": "Report details for GSM usage information.",
        "additionalProperties": false,
        "properties": {
          "ReportType": {
            "type": "string",
            "description": "The type of report that was generated.",
            "nullable": true
          },
          "EffectiveDate": {
            "type": "string",
            "description": "The effective day the report refers to.",
            "format": "date-time"
          },
          "GSMKey": {
            "type": "string",
            "description": "The GSM key the report is based on.",
            "nullable": true
          }
        }
      },
      "UsageReportGSM_GSMEntry": {
        "type": "object",
        "description": "GSM details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The name of the GSM console.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the GSM site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "ExpiryDate": {
            "type": "string",
            "description": "The expiration date for the GSM console license.",
            "format": "date-time",
            "nullable": true
          },
          "TotalSitesWithoutTrial": {
            "type": "integer",
            "description": "The number of sites excluding trial sites.",
            "format": "int32"
          },
          "TotalTrialSites": {
            "type": "integer",
            "description": "The number of trial sites.",
            "format": "int32"
          },
          "TotalEndpointsWithoutTrial": {
            "type": "integer",
            "description": "The number of endpoints excluding trial endpoints.",
            "format": "int32"
          },
          "TotalTrialEndpoints": {
            "type": "integer",
            "description": "The number of trial endpoints.",
            "format": "int32"
          }
        }
      },
      "UsageReportSites": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (multi sites, endpoint model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportSitesBase": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (sites level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportSites_ReportInfo"
              }
            ]
          },
          "Sites": {
            "type": "array",
            "description": "Site/endpoint details for a given GSM site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportSites_SiteEntry"
            }
          }
        }
      },
      "UsageReportSites_ReportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportGSM_ReportInfo"
          },
          {
            "type": "object",
            "description": "Report details for site specific usage information.",
            "additionalProperties": false,
            "properties": {
              "Count": {
                "type": "integer",
                "description": "The number of sites returned in the current request.",
                "format": "int32"
              },
              "SiteKeyFilter": {
                "type": "string",
                "description": "The site key that was used as a filter.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportSites_SiteEntry": {
        "type": "object",
        "description": "Site details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "ExpiryDate": {
            "type": "string",
            "description": "The expiration date for the site license.",
            "format": "date-time",
            "nullable": true
          },
          "SiteState": {
            "type": "string",
            "description": "The state of the site (\"active\", \"deactivated\", \"suspended\", \"expired\").",
            "nullable": true
          },
          "SiteStateChangedDate": {
            "type": "string",
            "description": "The date when the site state has changed the last time.",
            "format": "date-time",
            "nullable": true
          },
          "TotalEndpoints": {
            "type": "integer",
            "description": "The number of endpoints.",
            "format": "int32"
          }
        }
      },
      "UsageReportSite": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (single sites, endpoint model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportEndpoints": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (endpoints level).\n\n**Note:** The *OS* response field for endpoints is provided in reports for June 20th, 2019 and later. Earlier reports do not include the operating system information and return null for this field.",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportEndpoints_ReportInfo"
              }
            ]
          },
          "Endpoints": {
            "type": "array",
            "description": "A list of endpoints.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportEndpoints_EndpointEntry"
            }
          }
        }
      },
      "UsageReportEndpoints_ReportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportGSM_ReportInfo"
          },
          {
            "type": "object",
            "description": "Report details for endpoint specific usage information.",
            "additionalProperties": false,
            "properties": {
              "Count": {
                "type": "integer",
                "description": "The number of endpoints returned in the current request.",
                "format": "int32"
              },
              "ContinuationToken": {
                "type": "string",
                "description": "The continuation token that needs to be used for the next batch of records.",
                "nullable": true
              },
              "SiteKeyFilter": {
                "type": "string",
                "description": "The site key that was used as a filter.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportEndpoints_EndpointEntry": {
        "type": "object",
        "description": "Endpoint details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "MachineId": {
            "type": "string",
            "description": "The machine identifier.",
            "nullable": true
          },
          "SiteId": {
            "type": "string",
            "description": "The site identifier this endpoint belongs to.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site this endpoint belongs to.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "FriendlyHostName": {
            "type": "string",
            "description": "The friendly name of this endpoint, if (and only if) it has been renamed to a more recognizeable name in the GSM console.",
            "nullable": true
          },
          "LastSeen": {
            "type": "string",
            "description": "The date this endpoint was last seen.",
            "format": "date-time",
            "nullable": true
          },
          "DeviceType": {
            "type": "string",
            "description": "The type of the respective device.",
            "nullable": true
          },
          "OS": {
            "type": "string",
            "description": "The operating system of the respective device.",
            "nullable": true
          },
          "IsHidden": {
            "type": "boolean",
            "description": "A flag indicating whether this endpoint is marked as \"hidden\"."
          },
          "IsDeactivated": {
            "type": "boolean",
            "description": "A flag indicating whether this endpoint has been deactivated."
          },
          "IsTrial": {
            "type": "boolean",
            "description": "A flag indicating whether this endpoint belongs to a trial site."
          },
          "ActivationStatusTime": {
            "type": "string",
            "description": "The date when the activation state has changed for the last time.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UsageReportGSM_DNSP": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (GSM level, DNSP Module).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_ReportInfo"
              }
            ]
          },
          "GSM": {
            "description": "Details for a given GSM console.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_DNSP_GSMEntry"
              }
            ]
          }
        }
      },
      "UsageReportGSM_DNSP_GSMEntry": {
        "type": "object",
        "description": "GSM details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The name of the GSM console.",
            "nullable": true
          },
          "GSMLicenseType": {
            "type": "string",
            "description": "The license type of the GSM console (\"Trial\", \"Full\").",
            "nullable": true
          },
          "GSMExpiryDate": {
            "type": "string",
            "description": "The expiration date for the GSM console license.",
            "format": "date-time",
            "nullable": true
          },
          "DNSPEnabled": {
            "type": "boolean",
            "description": "A flag indicating whether DNSP is enabled for this GSM console."
          },
          "DNSPLicenseType": {
            "type": "string",
            "description": "The license type of the DNSP module (\"Trial\", \"Full\").",
            "nullable": true
          },
          "DNSPExpiryDate": {
            "type": "string",
            "description": "The expiration date for the DNSP module.",
            "format": "date-time",
            "nullable": true
          },
          "TotalSitesWithoutDNSP": {
            "type": "integer",
            "description": "The number of sites, excluding sites that have DNSP enabled.",
            "format": "int32"
          },
          "TotalSitesWithDNSPFull": {
            "type": "integer",
            "description": "The number of sites with a full DNSP license.",
            "format": "int32"
          },
          "TotalSitesWithDNSPTrial": {
            "type": "integer",
            "description": "The number of sites with a trial DNSP license.",
            "format": "int32"
          },
          "TotalDNSPDevicesProxyFull": {
            "type": "integer",
            "description": "This value is derived from the number of corresponding WSA endpoints for DNSP enabled sites and does not provide actual DNSP agents or requests generated by Agentless devices (full DNSP licenses only).",
            "format": "int32"
          },
          "TotalDNSPDevicesProxyTrial": {
            "type": "integer",
            "description": "This value is derived from the number of corresponding WSA endpoints for DNSP enabled sites and does not provide actual DNSP agents or requests generated by Agentless devices (trial DNSP licenses only).",
            "format": "int32"
          },
          "TotalDNSPDevicesActualFull": {
            "type": "integer",
            "description": "This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequestsFull divided by an average user request across all DNS usage (full DNSP licenses only).",
            "format": "int32"
          },
          "TotalDNSPDevicesActualTrial": {
            "type": "integer",
            "description": "This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequestsTrial divided by an average user request across all DNS usage (trial DNSP licenses only).",
            "format": "int32"
          },
          "TotalDNSPAgentlessRequestsFull": {
            "type": "integer",
            "description": "This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site (full DNSP licenses only).",
            "format": "int64"
          },
          "TotalDNSPAgentlessRequestsTrial": {
            "type": "integer",
            "description": "This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site (trial DNSP licenses only).",
            "format": "int64"
          },
          "TotalDNSPAgentsFull": {
            "type": "integer",
            "description": "This value is derived by calculating actual DNSP agents on each site (full DNSP licenses only).",
            "format": "int32"
          },
          "TotalDNSPAgentsTrial": {
            "type": "integer",
            "description": "This value is derived by calculating actual DNSP agents on each site (trial DNSP licenses only).",
            "format": "int32"
          }
        }
      },
      "UsageReportSites_DNSP": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_DNSP"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (multi sites, DNSP model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportSitesBase_DNSP": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (sites level, DNSP model).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportSites_ReportInfo"
              }
            ]
          },
          "Sites": {
            "type": "array",
            "description": "Site/endpoint details for a given GSM site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportSites_DNSP_SiteEntry"
            }
          }
        }
      },
      "UsageReportSites_DNSP_SiteEntry": {
        "type": "object",
        "description": "Site details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "nullable": true
          },
          "SiteLicenseType": {
            "type": "string",
            "description": "The license type of the site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "SiteExpiryDate": {
            "type": "string",
            "description": "The expiration date for the site license.",
            "format": "date-time",
            "nullable": true
          },
          "SiteState": {
            "type": "string",
            "description": "The state of the site (\"active\", \"deactivated\", \"suspended\", \"expired\").",
            "nullable": true
          },
          "SiteStateChangedDate": {
            "type": "string",
            "description": "The date when the site state has changed the last time.",
            "format": "date-time",
            "nullable": true
          },
          "DNSPEnabled": {
            "type": "boolean",
            "description": "A flag indicating whether DNSP is enabled for this site."
          },
          "DNSPLicenseType": {
            "type": "string",
            "description": "The license type of the DNSP module (\"Trial\", \"Full\").",
            "nullable": true
          },
          "DNSPExpiryDate": {
            "type": "string",
            "description": "The expiration date for the DNSP module.",
            "format": "date-time",
            "nullable": true
          },
          "TotalDNSPDevicesProxy": {
            "type": "integer",
            "description": "This value is derived from the number of corresponding WSA endpoints for a given DNSP enabled site and does not provide actual DNSP agents or requests generated by Agentless devices.",
            "format": "int32"
          },
          "TotalDNSPDevicesActual": {
            "type": "integer",
            "description": "This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequests divided by an average user request across all DNS usage.",
            "format": "int32"
          },
          "TotalDNSPAgentlessRequests": {
            "type": "integer",
            "description": "This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site.",
            "format": "int64"
          },
          "TotalDNSPAgents": {
            "type": "integer",
            "description": "This value is derived by calculating actual DNSP agents on each site.",
            "format": "int32"
          }
        }
      },
      "UsageReportSite_DNSP": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_DNSP"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (single sites, DNSP model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportGSM_WSAT": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (GSM level, WSAT Module).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_ReportInfo"
              }
            ]
          },
          "GSM": {
            "description": "Details for a given GSM console.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportGSM_WSAT_GSMEntry"
              }
            ]
          }
        }
      },
      "UsageReportGSM_WSAT_GSMEntry": {
        "type": "object",
        "description": "GSM details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The name of the GSM console.",
            "nullable": true
          },
          "GSMLicenseType": {
            "type": "string",
            "description": "The license type of the GSM console (\"Trial\", \"Full\").",
            "nullable": true
          },
          "GSMExpiryDate": {
            "type": "string",
            "description": "The expiration date for the GSM console license.",
            "format": "date-time",
            "nullable": true
          },
          "WSATEnabled": {
            "type": "boolean",
            "description": "A flag indicating whether WSAT is enabled for this GSM console."
          },
          "WSATLicenseType": {
            "type": "string",
            "description": "The license type of the WSAT module (\"Trial\", \"Full\").",
            "nullable": true
          },
          "WSATExpiryDate": {
            "type": "string",
            "description": "The expiration date for the WSAT module.",
            "format": "date-time",
            "nullable": true
          },
          "TotalSitesWithoutWSAT": {
            "type": "integer",
            "description": "The number of sites, excluding sites that have WSAT enabled.",
            "format": "int32"
          },
          "TotalSitesWithWSATFull": {
            "type": "integer",
            "description": "The number of sites with a full WSAT license.",
            "format": "int32"
          },
          "TotalSitesWithWSATTrial": {
            "type": "integer",
            "description": "The number of sites with a trial WSAT license.",
            "format": "int32"
          },
          "TotalWSATFullUsers": {
            "type": "integer",
            "description": "The total count of users with a full WSAT license.",
            "format": "int32"
          },
          "TotalWSATTrialUsers": {
            "type": "integer",
            "description": "The total count of users with a trial WSAT license.",
            "format": "int32"
          }
        }
      },
      "UsageReportSites_WSAT": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_WSAT"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (multi sites, WSAT model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportSitesBase_WSAT": {
        "type": "object",
        "description": "Data model returned by keycode usage report API call (sites level, WSAT model).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportSites_ReportInfo"
              }
            ]
          },
          "Sites": {
            "type": "array",
            "description": "Site/endpoint details for a given GSM site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportSites_WSAT_SiteEntry"
            }
          }
        }
      },
      "UsageReportSites_WSAT_SiteEntry": {
        "type": "object",
        "description": "Site details in usage reports.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "nullable": true
          },
          "SiteLicenseType": {
            "type": "string",
            "description": "The license type of the site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "SiteExpiryDate": {
            "type": "string",
            "description": "The expiration date for the site license.",
            "format": "date-time",
            "nullable": true
          },
          "SiteState": {
            "type": "string",
            "description": "The state of the site (\"active\", \"deactivated\", \"suspended\", \"expired\").",
            "nullable": true
          },
          "SiteStateChangedDate": {
            "type": "string",
            "description": "The date when the site state has changed the last time.",
            "format": "date-time",
            "nullable": true
          },
          "WSATEnabled": {
            "type": "boolean",
            "description": "A flag indicating whether WSAT is enabled for this site."
          },
          "WSATLicenseType": {
            "type": "string",
            "description": "The license type of the WSAT module (\"Trial\", \"Full\").",
            "nullable": true
          },
          "WSATExpiryDate": {
            "type": "string",
            "description": "The expiration date for the WSAT module.",
            "format": "date-time",
            "nullable": true
          },
          "TotalWSATUsers": {
            "type": "integer",
            "description": "The total count of WSAT users in the site.",
            "format": "int32"
          }
        }
      },
      "UsageReportSite_WSAT": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_WSAT"
          },
          {
            "type": "object",
            "description": "Data model returned by keycode usage report API call (single sites, WSAT model).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportPillr_Partner": {
        "type": "object",
        "description": "Data model returned by the Pillr partner keycode usage report API call (partner level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_GeneralInfo"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Product details for a given partner key.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_ProductEntry"
            }
          }
        }
      },
      "UsageReportPillr_ReportInfo": {
        "type": "object",
        "description": "Report details for Pillr usage information.",
        "additionalProperties": false,
        "properties": {
          "EffectiveDate": {
            "type": "string",
            "description": "The effective day the report refers to.",
            "format": "date-time"
          },
          "PartnerKey": {
            "type": "string",
            "description": "The partner key the report is based on.",
            "nullable": true
          }
        }
      },
      "UsageReportPillr_GeneralInfo": {
        "type": "object",
        "description": "General details for Pillr partner usage information.",
        "additionalProperties": false,
        "properties": {
          "PartnerName": {
            "type": "string",
            "description": "The partner name the report is based on.",
            "nullable": true
          },
          "PartnerId": {
            "type": "string",
            "description": "The partner id the report is based on.",
            "nullable": true
          },
          "PartnerLicenseType": {
            "type": "string",
            "description": "The license type of the partner.",
            "nullable": true
          }
        }
      },
      "UsageReportPillr_ProductEntry": {
        "type": "object",
        "description": "Pillr product details in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "The Pillr product name.",
            "nullable": true
          },
          "Licenses": {
            "type": "array",
            "description": "License details of the Pillr product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_LicenseEntry"
            }
          }
        }
      },
      "UsageReportPillr_LicenseEntry": {
        "type": "object",
        "description": "License details for Pillr products.",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "string",
            "description": "The status of the license (for example: \"Active\", \"Trial\", \"NFR\").",
            "nullable": true
          },
          "HighWatermarkEndpoints": {
            "type": "integer",
            "description": "The high watermark endpoints in the specified report period.",
            "format": "int32"
          },
          "HighWatermarkGigabytes": {
            "type": "number",
            "description": "The high watermark gigabytes in the specified report period.",
            "format": "double"
          }
        }
      },
      "UsageReportPillr_Partner_Customers": {
        "type": "object",
        "description": "Data model returned by the Pillr partner keycode usage report API call (multi customers).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_GeneralInfo"
              }
            ]
          },
          "Customers": {
            "type": "array",
            "description": "Details about the returned products for all the customers for partner key in the report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReport_Customer_Pillr"
            }
          }
        }
      },
      "UsageReport_Customer_Pillr": {
        "type": "object",
        "description": "Data model returned by the Pillr partner keycode usage report API call (single customer).",
        "additionalProperties": false,
        "properties": {
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer.",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "The Customer id the report is based on.",
            "nullable": true
          },
          "CustomerLicenseType": {
            "type": "string",
            "description": "The license type of the customer.",
            "nullable": true
          },
          "CustomerKey": {
            "type": "string",
            "description": "Customer Key code.",
            "nullable": true
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_ProductEntry_Customer"
            }
          }
        }
      },
      "UsageReportPillr_ProductEntry_Customer": {
        "type": "object",
        "description": "Pillr product details provided for customer key code in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "The Pillr product name.",
            "nullable": true
          },
          "Licenses": {
            "type": "array",
            "description": "License details of the Pillr product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_LicenseEntry_Customer"
            }
          }
        }
      },
      "UsageReportPillr_LicenseEntry_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportPillr_LicenseEntry"
          },
          {
            "type": "object",
            "description": "License information for Pillr products at the customer level.",
            "additionalProperties": false,
            "properties": {
              "SubscriptionId": {
                "type": "integer",
                "description": "Subscription id of the license.",
                "format": "int64"
              },
              "CreatedDate": {
                "type": "string",
                "description": "License created date.",
                "format": "date-time",
                "nullable": true
              },
              "StartDate": {
                "type": "string",
                "description": "License start date.",
                "format": "date-time",
                "nullable": true
              },
              "EndDate": {
                "type": "string",
                "description": "License end date.",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportPillr_Customer": {
        "type": "object",
        "description": "Data model returned by the Pillr partner keycode usage report API call (single customer).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_ReportInfo_Customer"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_GeneralInfo_Customer"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_ProductEntry_Customer"
            }
          }
        }
      },
      "UsageReportPillr_ReportInfo_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportPillr_ReportInfo"
          },
          {
            "type": "object",
            "description": "Report details for customer specific usage information.",
            "additionalProperties": false,
            "properties": {
              "CustomerKey": {
                "type": "string",
                "description": "The Customer key the report is based on.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportPillr_GeneralInfo_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportPillr_GeneralInfo"
          },
          {
            "type": "object",
            "description": "General details for customer specific usage information.",
            "additionalProperties": false,
            "properties": {
              "CustomerName": {
                "type": "string",
                "description": "The Customer name the report is based on.",
                "nullable": true
              },
              "CustomerId": {
                "type": "string",
                "description": "The Customer id the report is based on.",
                "nullable": true
              },
              "CustomerLicenseType": {
                "type": "string",
                "description": "The license type of the customer.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportPillr_Endpoint": {
        "type": "object",
        "description": "Data model returned by Pillr partner keycode usage report API call (endpoints level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_ReportInfo_Endpoint"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportPillr_GeneralInfo_Customer"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_ProductEntry_Endpoint"
            }
          }
        }
      },
      "UsageReportPillr_ReportInfo_Endpoint": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportPillr_ReportInfo_Customer"
          },
          {
            "type": "object",
            "description": "Report details for endpoint specific usage information.",
            "additionalProperties": false,
            "properties": {
              "ContinuationToken": {
                "type": "string",
                "description": "The continuation token that needs to be used for the next batch of records.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportPillr_ProductEntry_Endpoint": {
        "type": "object",
        "description": "Pillr product endpoint details provided for partner and customer key code in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "The Pillr product name.",
            "nullable": true
          },
          "Endpoints": {
            "type": "array",
            "description": "Endpoint details of the Pillr product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportPillr_EndpointEntry"
            }
          }
        }
      },
      "UsageReportPillr_EndpointEntry": {
        "type": "object",
        "description": "Endpoint details for Pillr products.",
        "additionalProperties": false,
        "properties": {
          "AgentId": {
            "type": "string",
            "description": "The agent id of the endpoint.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "MacAddress": {
            "type": "string",
            "description": "The MAC address of the endpoint (not applicable to \"Pillr Platform Mobile\").",
            "nullable": true
          },
          "HostIP": {
            "type": "string",
            "description": "The IP address of the endpoint.",
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "description": "The obfuscated mobile number of the device (applicable to \"Pillr Platform Mobile\" only).",
            "nullable": true
          },
          "Heartbeat": {
            "type": "string",
            "description": "The most recent date the endpoint was active.",
            "nullable": true
          }
        }
      },
      "UsageReportDetectionAndResponse_GSM": {
        "type": "object",
        "description": "Data model returned by \"Detection and Response\" related usage report API methods (GSM level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Product details for a given GSM key.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ProductEntry"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_ReportInfo": {
        "type": "object",
        "description": "Usage report details for \"Detection and Response\" related products.",
        "additionalProperties": false,
        "properties": {
          "EffectiveDate": {
            "type": "string",
            "description": "The effective day the report refers to.",
            "format": "date-time"
          },
          "GSMKey": {
            "type": "string",
            "description": "The GSM key the report is based on.",
            "nullable": true
          }
        }
      },
      "UsageReportDetectionAndResponse_GeneralInfo": {
        "type": "object",
        "description": "General details for \"Detection and Response\" related products.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The GSM console name the report is based on.",
            "nullable": true
          },
          "GSMConsoleLicenseType": {
            "type": "string",
            "description": "The license type of the GSM.",
            "nullable": true
          }
        }
      },
      "UsageReportDetectionAndResponse_ProductEntry": {
        "type": "object",
        "description": "Product details for \"Detection and Response\" products.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "The product name.",
            "nullable": true
          },
          "Licenses": {
            "type": "array",
            "description": "License details for \"Detection and Response\" products.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_LicenseEntry": {
        "type": "object",
        "description": "License details for \"Detection and Response\" products.",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "string",
            "description": "The status of the license (for example: \"Full\", \"Trial\").",
            "nullable": true
          },
          "HighWatermarkEndpoints": {
            "type": "integer",
            "description": "The high watermark endpoints in the specified report period.",
            "format": "int32"
          },
          "HighWatermarkGigabytes": {
            "type": "number",
            "description": "The high watermark gigabytes in the specified report period.",
            "format": "double"
          }
        }
      },
      "UsageReportDetectionAndResponse_Sites": {
        "type": "object",
        "description": "Data model returned by \"Detection and Response\" related usage report API methods (multi sites).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo"
              }
            ]
          },
          "Sites": {
            "type": "array",
            "description": "Site details for a given GSM key.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_SiteData"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_SiteData": {
        "type": "object",
        "description": "Data model returned by \"Detection and Response\" related usage report API methods (single site).",
        "additionalProperties": false,
        "properties": {
          "SiteName": {
            "type": "string",
            "description": "Name of the site.",
            "nullable": true
          },
          "SiteLicenseType": {
            "type": "string",
            "description": "The license type of the site.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "Site keycode.",
            "nullable": true
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Site"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_ProductEntry_Site": {
        "type": "object",
        "description": "\"Detection and Response\" products details provided for site key code in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "\"Detection and Response\" product name.",
            "nullable": true
          },
          "License": {
            "description": "License details for \"Detection and Response\" product.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry_Site"
              }
            ]
          }
        }
      },
      "UsageReportDetectionAndResponse_LicenseEntry_Site": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry"
          },
          {
            "type": "object",
            "description": "License information for \"Detection and Response\" products at the site level.",
            "additionalProperties": false,
            "properties": {
              "CreatedDate": {
                "type": "string",
                "description": "License created date.",
                "format": "date-time",
                "nullable": true
              },
              "StartDate": {
                "type": "string",
                "description": "License start date.",
                "format": "date-time",
                "nullable": true
              },
              "EndDate": {
                "type": "string",
                "description": "License end date.",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportDetectionAndResponse_Site": {
        "type": "object",
        "description": "Data model returned by \"Detection and Response\" related usage report API methods (single site).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Site"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo_Site"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Site"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_ReportInfo_Site": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo"
          },
          {
            "type": "object",
            "description": "Usage report details specific to the site for \"Detection and Response\" related products.",
            "additionalProperties": false,
            "properties": {
              "SiteKey": {
                "type": "string",
                "description": "The site key the report is based on.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportDetectionAndResponse_GeneralInfo_Site": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo"
          },
          {
            "type": "object",
            "description": "Usage general details specific to the site for \"Detection and Response\" related products.",
            "additionalProperties": false,
            "properties": {
              "SiteName": {
                "type": "string",
                "description": "The site name the report is based on.",
                "nullable": true
              },
              "SiteLicenseType": {
                "type": "string",
                "description": "The license type of the Site.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportDetectionAndResponse_Endpoint": {
        "type": "object",
        "description": "Data model returned by \"Detection and Response\" related usage report API methods (endpoints level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Endpoint"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo_Site"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Endpoint"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_ReportInfo_Endpoint": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Site"
          },
          {
            "type": "object",
            "description": "Report details for endpoint specific usage information.",
            "additionalProperties": false,
            "properties": {
              "ContinuationToken": {
                "type": "string",
                "description": "The continuation token that needs to be used for the next batch of records.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportDetectionAndResponse_ProductEntry_Endpoint": {
        "type": "object",
        "description": "Product details for \"Detection and Response\" provided for GSM key code and site key code in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "\"Detection and Response\" product name.",
            "nullable": true
          },
          "Endpoints": {
            "type": "array",
            "description": "Endpoint details for \"Detection and Response\" products.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportDetectionAndResponse_EndpointEntry"
            }
          }
        }
      },
      "UsageReportDetectionAndResponse_EndpointEntry": {
        "type": "object",
        "description": "Endpoint details for \"Detection and Response\" products.",
        "additionalProperties": false,
        "properties": {
          "AgentId": {
            "type": "string",
            "description": "The agent id of the endpoint.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "MacAddress": {
            "type": "string",
            "description": "The MAC address of the endpoint (not applicable to \"Detection and Response Mobile\").",
            "nullable": true
          },
          "HostIP": {
            "type": "string",
            "description": "The IP address of the endpoint.",
            "nullable": true
          },
          "MobileNumber": {
            "type": "string",
            "description": "The obfuscated mobile number of the device (applicable to \"Detection and Response Mobile\" only).",
            "nullable": true
          },
          "Heartbeat": {
            "type": "string",
            "description": "The most recent date the endpoint was active.",
            "nullable": true
          }
        }
      },
      "UsageReportCRSB_GSM": {
        "type": "object",
        "description": "Data model returned by keycode CRSB usage report API call (GSM level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned CRSB usage report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCRSB_ReportInfo"
              }
            ]
          },
          "GSM": {
            "description": "Details for a given GSM console.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCRSB_GSMEntry"
              }
            ]
          }
        }
      },
      "UsageReportCRSB_ReportInfo": {
        "type": "object",
        "description": "Report details for GSM usage information.",
        "additionalProperties": false,
        "properties": {
          "EffectiveDate": {
            "type": "string",
            "description": "The effective day the report refers to.",
            "format": "date-time"
          },
          "GSMKey": {
            "type": "string",
            "description": "The GSM key the report is based on.",
            "nullable": true
          },
          "ReportType": {
            "type": "string",
            "description": "The type of report being requested.",
            "nullable": true
          }
        }
      },
      "UsageReportCRSB_GSMEntry": {
        "type": "object",
        "description": "Details for a given GSM Console.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The name of the GSM console.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the GSM site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "ExpiryDate": {
            "type": "string",
            "description": "The expiration date for the GSM console license.",
            "format": "date-time",
            "nullable": true
          },
          "Usage": {
            "type": "array",
            "description": "List of usage entries categorized by report type.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCRSB_GSM_UsageEntry"
            }
          }
        }
      },
      "UsageReportCRSB_GSM_UsageEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCRSB_UsageEntryBase"
          },
          {
            "type": "object",
            "description": "Details for a given \"CRSB\" usage entry.",
            "additionalProperties": false,
            "properties": {
              "Endpoints": {
                "type": "integer",
                "description": "The number of endpoints.",
                "format": "int32"
              }
            }
          }
        ]
      },
      "UsageReportCRSB_UsageEntryBase": {
        "type": "object",
        "description": "Represents the base class for a usage entry in the CRSB Usage Report.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "Usage report type.",
            "nullable": true
          },
          "TotalStorageUsedStandard": {
            "type": "number",
            "description": "Total standard retention storage used (in GB).",
            "format": "double"
          },
          "TotalStorageUsedCustom": {
            "type": "number",
            "description": "Total custom retention storage used (in GB).",
            "format": "double"
          }
        }
      },
      "UsageReportCRSB_Sites": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_CRSB"
          },
          {
            "type": "object",
            "description": "Data model returned by CRSB usage report API methods (multi sites).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportSitesBase_CRSB": {
        "type": "object",
        "description": "Data model returned by \"CRSB\" related usage report API methods (site level)..",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCRSB_Site_ReportInfo"
              }
            ]
          },
          "Sites": {
            "type": "array",
            "description": "Site details for the given GSM/site keycode.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCRSB_SiteEntry"
            }
          }
        }
      },
      "UsageReportCRSB_Site_ReportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCRSB_ReportInfo"
          },
          {
            "type": "object",
            "description": "Report details for site specific usage information.",
            "additionalProperties": false,
            "properties": {
              "Count": {
                "type": "integer",
                "description": "The number of sites returned in the current request.",
                "format": "int32"
              },
              "SiteKeyFilter": {
                "type": "string",
                "description": "The site key that was used as a filter.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportCRSB_SiteEntry": {
        "type": "object",
        "description": "Site details in CRSB usage reports.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "nullable": true
          },
          "SiteStatus": {
            "type": "string",
            "description": "The status of the site (\"active\", \"deactivated\", \"suspended\", \"expired\").",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the site (\"Trial\", \"Full\").",
            "nullable": true
          },
          "ExpiryDate": {
            "type": "string",
            "description": "The expiration date for the site license.",
            "format": "date-time",
            "nullable": true
          },
          "Usage": {
            "type": "array",
            "description": "List of usage entries categorized by report type.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCRSB_Site_UsageEntry"
            }
          }
        }
      },
      "UsageReportCRSB_Site_UsageEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCRSB_UsageEntryBase"
          },
          {
            "type": "object",
            "description": "Details for a given \"CRSB\" usage entry.",
            "additionalProperties": false,
            "properties": {
              "Endpoints": {
                "type": "integer",
                "description": "The number of endpoints.",
                "format": "int32"
              }
            }
          }
        ]
      },
      "UsageReportCRSB_Site": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportSitesBase_CRSB"
          },
          {
            "type": "object",
            "description": "Data model returned by \"CRSB\" usage report API methods (single site).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportGSMEndpoints_CRSB": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportEndpointsBase_CRSB"
          },
          {
            "type": "object",
            "description": "Data model returned by CRSB usage report API call (endpoints level).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportEndpointsBase_CRSB": {
        "type": "object",
        "description": "Data model returned by CRSB usage report API call (endpoints level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportEndpoints_CRSB_ReportInfo"
              }
            ]
          },
          "Endpoints": {
            "type": "array",
            "description": "Endpoint details for the given GSM/site keycode.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportEndpoints_CRSB_EndpointEntry"
            }
          }
        }
      },
      "UsageReportEndpoints_CRSB_ReportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCRSB_ReportInfo"
          },
          {
            "type": "object",
            "description": "Report details for endpoint specific usage information.",
            "additionalProperties": false,
            "properties": {
              "Count": {
                "type": "integer",
                "description": "The number of endpoints returned in the current request.",
                "format": "int32"
              },
              "SiteKeyFilter": {
                "type": "string",
                "description": "The site key that was used as a filter.",
                "nullable": true
              },
              "ContinuationToken": {
                "type": "string",
                "description": "The continuation token that needs to be used for the next batch of records.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportEndpoints_CRSB_EndpointEntry": {
        "type": "object",
        "description": "Endpoint details in CRSB usage reports.",
        "additionalProperties": false,
        "properties": {
          "BackupDeviceId": {
            "type": "string",
            "description": "Backup device id of the endpoint.",
            "nullable": true
          },
          "SiteId": {
            "type": "string",
            "description": "The site identifier this endpoint belongs to.",
            "nullable": true
          },
          "SiteKey": {
            "type": "string",
            "description": "The keycode for the site this endpoint belongs to.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "DeviceType": {
            "type": "string",
            "description": "The type of the respective device.",
            "nullable": true
          },
          "ActivationStatus": {
            "type": "string",
            "description": "The status of the endpoint.",
            "nullable": true
          },
          "ActivationStatusTime": {
            "type": "string",
            "description": "The date when the activation state has changed for the last time.",
            "format": "date-time",
            "nullable": true
          },
          "FirstSeen": {
            "type": "string",
            "description": "The date this endpoint was first seen.",
            "format": "date-time",
            "nullable": true
          },
          "LastSeen": {
            "type": "string",
            "description": "The date this endpoint was last seen.",
            "format": "date-time",
            "nullable": true
          },
          "LastBackup": {
            "type": "string",
            "description": "The date when the last backup was performed.",
            "format": "date-time",
            "nullable": true
          },
          "SubscriptionType": {
            "type": "string",
            "description": "Subscription type of the endpoint.",
            "nullable": true
          },
          "Usage": {
            "type": "array",
            "description": "List of usage entries categorized by report type.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCRSB_Endpoint_UsageEntry"
            }
          }
        }
      },
      "UsageReportCRSB_Endpoint_UsageEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCRSB_UsageEntryBase"
          },
          {
            "type": "object",
            "description": "Details for a given \"CRSB\" usage entry.",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportSiteEndpoints_CRSB": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportEndpointsBase_CRSB"
          },
          {
            "type": "object",
            "description": "Data model returned by CRSB usage report API call (endpoints level).",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportCloudally_Partner": {
        "type": "object",
        "description": "Data model returned by the Cloudally partner keycode usage report API call (partner level).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_General"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Product details for a given partner key.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCloudally_ProductEntry"
            }
          }
        }
      },
      "UsageReportCloudally_ReportInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_ReportInfoBase"
          },
          {
            "type": "object",
            "description": "Report details for Cloudally usage information.",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportCloudally_ReportInfoBase": {
        "type": "object",
        "description": "Report details for Cloudally usage information.",
        "additionalProperties": false,
        "properties": {
          "EffectiveDate": {
            "type": "string",
            "description": "The effective day the report refers to.",
            "format": "date-time"
          },
          "PartnerKey": {
            "type": "string",
            "description": "The partner key the report is based on.",
            "nullable": true
          },
          "ReportType": {
            "type": "string",
            "description": "The type of report being requested.",
            "nullable": true
          }
        }
      },
      "UsageReportCloudally_General": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfoBase"
          },
          {
            "type": "object",
            "description": "General details about the returned report.",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportCloudally_GeneralInfoBase": {
        "type": "object",
        "description": "General details for Cloudally partner usage information.",
        "additionalProperties": false,
        "properties": {
          "PartnerName": {
            "type": "string",
            "description": "The partner name the report is based on. This field is currently not populated and may return null or an empty string in the current implementation.",
            "nullable": true
          },
          "PartnerId": {
            "type": "string",
            "description": "The partner id the report is based on.",
            "nullable": true
          },
          "PartnerLicenseType": {
            "type": "string",
            "description": "The license type of the partner.",
            "nullable": true
          },
          "PartnerExpiryDate": {
            "type": "string",
            "description": "The expiry date of the partner.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UsageReportCloudally_ProductEntry": {
        "type": "object",
        "description": "Cloudally product details in the usage report.",
        "additionalProperties": false,
        "properties": {
          "ProductName": {
            "type": "string",
            "description": "The Cloudally product name.",
            "nullable": true
          },
          "HighWatermarkEndpoints": {
            "type": "integer",
            "description": "The high watermark endpoints in the specified report period. Ignored in JSON only when null.",
            "format": "int32",
            "nullable": true
          },
          "HighWatermarkGigabytes": {
            "type": "number",
            "description": "The high watermark gigabytes in the specified report period. Ignored in JSON only when null.",
            "format": "double",
            "nullable": true
          },
          "HighWatermarkDate": {
            "type": "string",
            "description": "The high watermark date in the specified report period.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UsageReportCloudally_Customers": {
        "type": "object",
        "description": "Data model returned by the Cloudally partner keycode usage report API call (multi customer).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_ReportInfo"
              }
            ]
          },
          "General": {
            "description": "General details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfo"
              }
            ]
          },
          "Customers": {
            "type": "array",
            "description": "Details about the returned products for all the customers for partner key in the report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCloudally_CustomerEntry"
            }
          }
        }
      },
      "UsageReportCloudally_GeneralInfo": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfoBase"
          },
          {
            "type": "object",
            "description": "General details for partner specific usage information.",
            "additionalProperties": false
          }
        ]
      },
      "UsageReportCloudally_CustomerEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfo_CustomerBase"
          },
          {
            "type": "object",
            "description": "General details for customer specific usage information.",
            "additionalProperties": false,
            "properties": {
              "CustomerKey": {
                "type": "string",
                "description": "The Customer key the report is based on.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportCloudally_GeneralInfo_CustomerBase": {
        "type": "object",
        "description": "General details for Cloudally customer specific usage information.",
        "additionalProperties": false,
        "properties": {
          "CustomerName": {
            "type": "string",
            "description": "The Customer name the report is based on.",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "The Customer id the report is based on.",
            "nullable": true
          },
          "CustomerLicenseType": {
            "type": "string",
            "description": "The license type of the customer.",
            "nullable": true
          },
          "CustomerExpiryDate": {
            "type": "string",
            "description": "The expiry date of the customer license.",
            "format": "date-time",
            "nullable": true
          },
          "Products": {
            "type": "array",
            "description": "Product details of the Cloudally product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCloudally_ProductEntry"
            }
          }
        }
      },
      "UsageReportCloudally_Customer": {
        "type": "object",
        "description": "Data model returned by the Cloudally partner keycode usage report API call (single customer).",
        "additionalProperties": false,
        "properties": {
          "ReportInfo": {
            "description": "Details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_ReportInfo_Customer"
              }
            ]
          },
          "General": {
            "description": "General customer details about the returned report.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfo_Customer"
              }
            ]
          },
          "Products": {
            "type": "array",
            "description": "Details about the returned products in the usage report.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UsageReportCloudally_ProductBreakdownEntry"
            }
          }
        }
      },
      "UsageReportCloudally_ReportInfo_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_ReportInfoBase"
          },
          {
            "type": "object",
            "description": "Details about the returned report.",
            "additionalProperties": false,
            "properties": {
              "CustomerKey": {
                "type": "string",
                "description": "The Customer key the report is based on.",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportCloudally_GeneralInfo_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_GeneralInfoBase"
          },
          {
            "type": "object",
            "description": "General details about the returned report.",
            "additionalProperties": false,
            "properties": {
              "CustomerName": {
                "type": "string",
                "description": "The Customer name the report is based on.",
                "nullable": true
              },
              "CustomerId": {
                "type": "string",
                "description": "The Customer id the report is based on.",
                "nullable": true
              },
              "CustomerLicenseType": {
                "type": "string",
                "description": "The license type of the customer.",
                "nullable": true
              },
              "CustomerExpiryDate": {
                "type": "string",
                "description": "The expiry date of the customer license.",
                "format": "date-time",
                "nullable": true
              }
            }
          }
        ]
      },
      "UsageReportCloudally_ProductBreakdownEntry": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageReportCloudally_ProductEntry"
          },
          {
            "type": "object",
            "description": "Cloudally product details with breakdown in the usage report.",
            "additionalProperties": false,
            "properties": {
              "Breakdown": {
                "type": "array",
                "description": "Breakdown details of the Cloudally product.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/UsageReportCloudally_BreakdownEntry"
                }
              }
            }
          }
        ]
      },
      "UsageReportCloudally_BreakdownEntry": {
        "type": "object",
        "description": "Breakdown details for Cloudally products.",
        "additionalProperties": false,
        "properties": {
          "BreakdownType": {
            "type": "string",
            "description": "The type of the breakdown.",
            "nullable": true
          },
          "BackedUpEntities": {
            "type": "integer",
            "description": "The backed up high watermark entities in the specified report period. Ignored in JSON only when null.",
            "format": "int32",
            "nullable": true
          },
          "BackedUpStorage": {
            "type": "number",
            "description": "The backed up high watermark gigabytes in the specified report period. Ignored in JSON only when null.",
            "format": "double",
            "nullable": true
          },
          "BillableEntities": {
            "type": "integer",
            "description": "The billable high watermark entities in the specified report period. Ignored in JSON only when null.",
            "format": "int32",
            "nullable": true
          },
          "BillableStorage": {
            "type": "number",
            "description": "The billable high watermark gigabytes in the specified report period. Ignored in JSON only when null.",
            "format": "double",
            "nullable": true
          }
        }
      },
      "GSMSuperAdminRequestModel": {
        "type": "object",
        "description": "Specifies information required to initiate the process for adding an existing console user as an API-only super admin to a GSM console.\n\n**WARNING:** The user specified in the *UserEmail* field, i.e. the user which should be added as an API-only super admin to the target GSM console, will no longer be able to logon interactively to the SecureAnywhere Website via [my.webrootanywhere.com](http://my.webrootanywhere.com). Please ensure that this user is not required for interactive access to ANY other consoles.",
        "additionalProperties": false,
        "required": [
          "UserEmail",
          "ConfirmEmail"
        ],
        "properties": {
          "UserEmail": {
            "type": "string",
            "description": "The e-mail address of the user which should be added as an API-only super admin to a GSM console.\n\nThe user must be an existing GSM admin.",
            "minLength": 1
          },
          "ConfirmEmail": {
            "type": "string",
            "description": "The e-mail address of the user which will receive the confirmation message for approving the access request.\n\nThe user must be an existing admin of the GSM console for which access is requested.",
            "minLength": 1
          }
        }
      },
      "GSMSuperAdminStatusResponseModel": {
        "type": "object",
        "description": "Provides status information about a process flow for adding an existing console user as an API-only super admin to a GSM console.",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "string",
            "description": "The current status of the request process. The status can be either one of the following texts: \n- \"Initiated\": The access request has been successfully initiated and the confirmation message was sent out to the target e-mail address.\n- \"EmailFailed\": The confirmation message could not be sent to the target e-mail address.\n- \"PendingApproval\": The access request is pending approval.\n- \"Approved\": The access request has been approved by the GSM console owner.\n- \"RequestComplete\": The access request process is complete and the user has been added to the GSM console as an API-only super admin.\n- \"RequestDenied\": The access request process is complete, but the access request has been denied by the GSM console owner.\n- \"RequestExpired\": The access request process is complete, but the lifetime of the confirmation message has passed by without the GSM console owner acting on the request.",
            "nullable": true
          },
          "InitiatedDate": {
            "type": "string",
            "description": "The date and time when the access request process was initiated.",
            "format": "date-time"
          },
          "StatusChangeDate": {
            "type": "string",
            "description": "The date and time when the status of the access request process was last changed.",
            "format": "date-time"
          }
        }
      },
      "GetGSMDetailsResponseModel": {
        "type": "object",
        "description": "Provides information about the GSM key.",
        "additionalProperties": false,
        "properties": {
          "GSMConsoleName": {
            "type": "string",
            "description": "The name of the GSM console.",
            "nullable": true
          },
          "CreatedDate": {
            "type": "string",
            "description": "The date when the GSM key has been created.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "The date when the GSM key expires.",
            "format": "date-time",
            "nullable": true
          },
          "RemainingDays": {
            "type": "integer",
            "description": "The number of days until the GSM key expires.",
            "format": "int32"
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the GSM key: Full or Trial.",
            "nullable": true
          },
          "TotalSeatsAllowed": {
            "type": "integer",
            "description": "The total number of Parent Keycode Site Seats/devices purchased.",
            "format": "int32"
          },
          "TotalSites": {
            "type": "integer",
            "description": "The total number of sites.",
            "format": "int32"
          },
          "DeactivatedSites": {
            "type": "integer",
            "description": "The number of deactivated sites.",
            "format": "int32"
          },
          "CompanyEmail": {
            "type": "string",
            "description": "The company's email address.",
            "nullable": true
          },
          "CompanyPhone": {
            "type": "string",
            "description": "The company's phone number.",
            "nullable": true
          },
          "CompanyAddress": {
            "type": "string",
            "description": "The company's address.",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The list of modules associated with the GSM key.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMDetailsResponseModel_Module"
            }
          }
        }
      },
      "GetGSMDetailsResponseModel_Module": {
        "type": "object",
        "description": "Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, CRSB).",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the module (e.g. \"DNSP\" for DNS Protection, \"WSAT\" for Webroot Security Awareness Training, \"OTEDR\" for OpenText Endpoint Detection and Response, \"OTMDR\" for OpenText Managed Detection and Response).",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The total number of seats allowed on the module.",
            "format": "int32"
          },
          "LicenseType": {
            "type": "string",
            "description": "The type of the license: Full or Trial.",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "The expiry date of the module.",
            "format": "date-time",
            "nullable": true
          },
          "ProvisioningStatus": {
            "description": "The provisioning status information for the module.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ModuleProvisioningStatus"
              }
            ]
          }
        }
      },
      "ModuleProvisioningStatus": {
        "type": "object",
        "description": "Represents provisioning status information for a module in the response. Contains only status for API response. ErrorMessage is excluded from serialization.",
        "additionalProperties": false,
        "properties": {
          "Status": {
            "type": "string",
            "description": "Gets or sets the provisioning status (e.g., Success, Error, Pending, Initiated, DeProvisionPending, DeProvisioned).",
            "nullable": true
          }
        }
      },
      "GetGSMSitesResponseModel": {
        "type": "object",
        "description": "Provides information about the list of sites associated with a given GSM console.",
        "additionalProperties": false,
        "properties": {
          "TotalSeatsAllowed": {
            "type": "integer",
            "description": "The total number of Parent Keycode Site Seats/devices purchased.",
            "format": "int32"
          },
          "ParentDescription": {
            "type": "string",
            "description": "Indicates if parent key is a \"Full\" or \"Trial\" license.",
            "nullable": true
          },
          "SumTotalDevices": {
            "type": "integer",
            "description": "The total number of Active Devices installed on the GSM sites.",
            "format": "int32"
          },
          "SumTotalDevicesAllowed": {
            "type": "integer",
            "description": "The total number of Site Seats allocated to all GSM sites.",
            "format": "int32"
          },
          "SumTotalDevicesNotTrial": {
            "type": "integer",
            "description": "The total number of Site Seats allocated to all GSM sites which are not trial sites.",
            "format": "int32"
          },
          "SumTotalMobileDevicesAllowed": {
            "type": "integer",
            "description": "The total number of mobile Site Seats allocated to the GSM sites.",
            "format": "int32"
          },
          "TotalCount": {
            "type": "integer",
            "description": "The total number of sites under the GSM.",
            "format": "int32"
          },
          "Sites": {
            "type": "array",
            "description": "List of site details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMSitesResponseModel_Site"
            }
          }
        }
      },
      "GetGSMSitesResponseModel_Site": {
        "type": "object",
        "description": "Provides information about a given GSM site.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The site name.",
            "nullable": true
          },
          "SiteType": {
            "type": "string",
            "description": "The console type. The value \"R\" indicates a GSM site.",
            "nullable": true
          },
          "TotalEndpoints": {
            "type": "integer",
            "description": "Total number of endpoints that are installed on the site.",
            "format": "int32"
          },
          "PCsInfected24": {
            "type": "integer",
            "description": "Number of endpoints infected in the last 24 hours on the site.",
            "format": "int32"
          },
          "AccountKeyCode": {
            "type": "string",
            "description": "The keycode of the site.",
            "nullable": true
          },
          "DevicesAllowed": {
            "type": "integer",
            "description": "Number of Site Seats for the keycode.",
            "format": "int32"
          },
          "MobileSeats": {
            "type": "integer",
            "description": "Number of mobile Site Seats for the keycode.",
            "format": "int32"
          },
          "Deactivated": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the site is deactivated."
          },
          "Suspended": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the site is suspended."
          },
          "EndDate": {
            "type": "string",
            "description": "Date when the keycode expires.",
            "format": "date-time",
            "nullable": true
          },
          "Device": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether one or more endpoints have been installed with the site's keycode."
          },
          "Infect": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether one or more endpoints were infected in the last 24 hours on the site."
          },
          "BillingCycle": {
            "type": "string",
            "description": "The site's billing cycle (Annually, Quarterly, Monthly, Weekly).",
            "nullable": true
          },
          "BillingDate": {
            "type": "string",
            "description": "The site's billing date.",
            "nullable": true
          },
          "CompanyComments": {
            "type": "string",
            "description": "The comments that was given on creation of the site.",
            "nullable": true
          },
          "DeactivatedBy": {
            "type": "string",
            "description": "The e-mail address of the user who deactivated a site, if a site has been deactivated.",
            "nullable": true
          },
          "SuspendedBy": {
            "type": "string",
            "description": "The e-mail address of the user who suspended a site, if a site has been suspended.",
            "nullable": true
          },
          "CreatedBy": {
            "type": "string",
            "description": "The e-mail address of the user who created the site.",
            "nullable": true
          },
          "GlobalPolicies": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the site has global policies enabled."
          },
          "GlobalOverrides": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the site has global overrides enabled."
          },
          "GlobalAlerts": {
            "type": "boolean",
            "description": "Value indicating whether the site has global alerts enabled.\n\nCan be ignored as global alerts will be enabled for all."
          },
          "AllKeysExpired": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether all keys associated with the site are expired."
          },
          "Description": {
            "type": "string",
            "description": "The description of the associated keycode: Full or Trial.",
            "nullable": true
          },
          "PolicyId": {
            "type": "string",
            "description": "The id of the policy applied to the site.",
            "nullable": true
          },
          "PolicyName": {
            "type": "string",
            "description": "The policy name that was given on creation of the site.",
            "nullable": true
          },
          "PolicyDescription": {
            "type": "string",
            "description": "The policy description that was given on creation of the site.",
            "nullable": true
          },
          "Emails": {
            "type": "string",
            "description": "Comma-separated list of e-mail addresses for report distribution.\n\nThis field is only set when querying information for a single site. Otherwise the value is null.",
            "nullable": true
          },
          "AccessLevel": {
            "type": "integer",
            "description": "Indicates if the user has view only or admin permission on the site. Valid values are 128 for admin access, 1 for view only access, 0 for no access.",
            "format": "int32"
          },
          "Modules": {
            "type": "array",
            "description": "The list of modules associated with the site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMSitesResponseModel_Module"
            }
          }
        }
      },
      "GetGSMSitesResponseModel_Module": {
        "type": "object",
        "description": "Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, CRSB).",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the module (e.g. \"DNSP\" for DNS Protection, \"WSAT\" for Webroot Security Awareness Training, \"OTEDR\" for OpenText Endpoint Detection and Response, \"OTMDR\" for OpenText Managed Detection and Response).",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The type of the license: Full or Trial.",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "The expiry date of the module.",
            "format": "date-time",
            "nullable": true
          },
          "ProvisioningStatus": {
            "description": "The provisioning status information for the module.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ModuleProvisioningStatus"
              }
            ]
          }
        }
      },
      "GetGSMStatisticsEndpointProtectionResponseModel": {
        "type": "object",
        "description": "Provides statistics information about a GSM console",
        "additionalProperties": false,
        "properties": {
          "TotalDevicesInstalled": {
            "type": "integer",
            "description": "Number of devices with endpoint protection installed.",
            "format": "int32"
          },
          "TotalDevicesInfected": {
            "type": "integer",
            "description": "Number of infected devices.",
            "format": "int32"
          },
          "RequiringAttention": {
            "type": "integer",
            "description": "Number of infected devices which require attention.",
            "format": "int32"
          },
          "WithActiveThreats": {
            "type": "integer",
            "description": "Number of active, uncleaned threats.",
            "format": "int32"
          },
          "ParentSeats": {
            "type": "integer",
            "description": "Number of parent seats reserved for this console.",
            "format": "int32"
          },
          "TotalDevicesAllowed": {
            "type": "integer",
            "description": "Number of devices allowed.",
            "format": "int32"
          },
          "DeactivatedSites": {
            "type": "integer",
            "description": "Number of sites that have been deactivated.",
            "format": "int32"
          },
          "SuspendedSites": {
            "type": "integer",
            "description": "Number of sites that have been suspended.",
            "format": "int32"
          },
          "TrialSites": {
            "type": "integer",
            "description": "Number of sites with trial licenses.",
            "format": "int32"
          },
          "FullSites": {
            "type": "integer",
            "description": "Number of sites with full licenses.",
            "format": "int32"
          },
          "ExpiredSites": {
            "type": "integer",
            "description": "Number of sites that have expired.",
            "format": "int32"
          },
          "ExpiringSites": {
            "type": "integer",
            "description": "Number of sites that are about to expire.",
            "format": "int32"
          },
          "ActivatedSites": {
            "type": "integer",
            "description": "Number of sites that are not deactivated.",
            "format": "int32"
          },
          "TotalSites": {
            "type": "integer",
            "description": "Total number of sites available in the queried entity (GSM or site).",
            "format": "int32"
          }
        }
      },
      "GetSiteStatisticsEndpointProtectionResponseModel": {
        "type": "object",
        "description": "Provides statistics information about a GSM site.",
        "additionalProperties": false,
        "properties": {
          "TotalDevicesInstalled": {
            "type": "integer",
            "description": "Number of devices with endpoint protection installed.",
            "format": "int32"
          },
          "TotalDevicesInfected": {
            "type": "integer",
            "description": "Number of infected devices.",
            "format": "int32"
          },
          "RequiringAttention": {
            "type": "integer",
            "description": "Number of infected devices which require attention.",
            "format": "int32"
          },
          "WithActiveThreats": {
            "type": "integer",
            "description": "Number of active, uncleaned threats.",
            "format": "int32"
          },
          "ParentSeats": {
            "type": "integer",
            "description": "Number of parent seats reserved for this console.",
            "format": "int32"
          },
          "TotalDevicesAllowed": {
            "type": "integer",
            "description": "Number of devices allowed.",
            "format": "int32"
          }
        }
      },
      "GetGSMStatisticsDNSPResponseModel": {
        "type": "object",
        "description": "Provides DNSP statistics information about a GSM console.",
        "additionalProperties": false,
        "properties": {
          "TotalDevicesActive": {
            "type": "integer",
            "description": "Number of active DNSP agents in this GSM console.",
            "format": "int32"
          },
          "TotalDevicesInactive": {
            "type": "integer",
            "description": "Number of inactive DNSP agents in this GSM console.",
            "format": "int32"
          }
        }
      },
      "GetSiteStatisticsDNSPResponseModel": {
        "type": "object",
        "description": "Provides DNSP statistics information about a GSM site.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The identifier of the GSM site that was queried.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the GSM site that was queried.",
            "nullable": true
          },
          "DevicesActive": {
            "type": "integer",
            "description": "Number of active DNSP agents in this GSM site.",
            "format": "int32"
          },
          "DevicesInactive": {
            "type": "integer",
            "description": "Number of inactive DNSP agents in this GSM site.",
            "format": "int32"
          }
        }
      },
      "GetGSMStatisticsWSATResponseModel": {
        "type": "object",
        "description": "Provides WSAT statistics information about a GSM console.",
        "additionalProperties": false,
        "properties": {
          "TotalPhishingCampaigns": {
            "type": "integer",
            "description": "Number of phishing campaigns in this GSM console.",
            "format": "int32"
          },
          "TotalTrainingCampaigns": {
            "type": "integer",
            "description": "Number of training campaigns in this GSM console.",
            "format": "int32"
          }
        }
      },
      "GetSiteStatisticsWSATResponseModel": {
        "type": "object",
        "description": "Provides WSAT statistics information about a GSM site.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The identifier of the GSM site that was queried.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the GSM site that was queried.",
            "nullable": true
          },
          "PhishingCampaigns": {
            "type": "integer",
            "description": "Number of phishing campaigns in this GSM site.",
            "format": "int32"
          },
          "TrainingCampaigns": {
            "type": "integer",
            "description": "Number of training campaigns in this GSM site.",
            "format": "int32"
          }
        }
      },
      "GetGSMStatisticsCRSBResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetStatisticsCRSBBaseResponseModel"
          },
          {
            "type": "object",
            "description": "Provides CRSB statistics information about a GSM console.",
            "additionalProperties": false
          }
        ]
      },
      "GetStatisticsCRSBBaseResponseModel": {
        "type": "object",
        "description": "Provides CRSB statistics information about a GSM console.",
        "additionalProperties": false,
        "properties": {
          "Pending": {
            "type": "integer",
            "description": "Number of endpoints in 'Pending' state.",
            "format": "int32",
            "nullable": true
          },
          "Protected": {
            "type": "integer",
            "description": "Number of endpoints in 'Protected' state.",
            "format": "int32",
            "nullable": true
          },
          "PartiallyProtected": {
            "type": "integer",
            "description": "Number of endpoints in 'Partially Protected' state.",
            "format": "int32",
            "nullable": true
          },
          "NeedsAttention": {
            "type": "integer",
            "description": "Number of endpoints in 'NeedsAttention' state.",
            "format": "int32",
            "nullable": true
          },
          "ScheduledForDeletion": {
            "type": "integer",
            "description": "Number of endpoints in 'ScheduledForDeletion' state.",
            "format": "int32",
            "nullable": true
          },
          "Expired": {
            "type": "integer",
            "description": "Number of endpoints in 'Expired' state.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetSiteStatisticsCRSBResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetStatisticsCRSBBaseResponseModel"
          },
          {
            "type": "object",
            "description": "Provides CRSB statistics information about a GSM site.",
            "additionalProperties": false,
            "properties": {
              "SiteId": {
                "type": "string",
                "description": "The identifier of the GSM site that was queried.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the GSM site that was queried.",
                "nullable": true
              }
            }
          }
        ]
      },
      "GetGSMSSOTokenResponseModel": {
        "type": "object",
        "description": "Provides information about the single sign-on token for navigating to the GSM Console.",
        "additionalProperties": false,
        "properties": {
          "GSMKeyCode": {
            "type": "string",
            "description": "The keycode for the GSM Console the single sign-on URL is valid for.",
            "nullable": true
          },
          "UserName": {
            "type": "string",
            "description": "The name of the authenticated user that will be logged in to the console when using the single sign-on URL.",
            "nullable": true
          },
          "WebConsoleURL": {
            "type": "string",
            "description": "Direct URL to the GSM console.",
            "nullable": true
          }
        }
      },
      "GetGSMSiteSSOTokenResponseModel": {
        "type": "object",
        "description": "Provides information about the single sign-on URL for navigating to the Endpoint Protection Console.",
        "additionalProperties": false,
        "properties": {
          "GSMKeyCode": {
            "type": "string",
            "description": "The GSM parent keycode.",
            "nullable": true
          },
          "SiteId": {
            "type": "string",
            "description": "The site identifier of the GSM site the single sign-on URL is valid for.",
            "nullable": true
          },
          "AccountKeyCode": {
            "type": "string",
            "description": "The keycode of the GSM site the single sign-on URL is valid for.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The site name.",
            "nullable": true
          },
          "UserName": {
            "type": "string",
            "description": "The name of the authenticated user that will be logged in to the console when using the single sign-on URL.",
            "nullable": true
          },
          "WebConsoleURL": {
            "type": "string",
            "description": "Direct URL to the Endpoint Protection Console.",
            "nullable": true
          }
        }
      },
      "CreateGSMSiteResponseModel": {
        "type": "object",
        "description": "Provides key information about the newly created site.",
        "additionalProperties": false,
        "properties": {
          "KeyCode": {
            "type": "string",
            "description": "The keycode for the created site.",
            "nullable": true
          },
          "SiteId": {
            "type": "string",
            "description": "The identifier for the created site.",
            "nullable": true
          },
          "PCAccess": {
            "type": "integer",
            "description": "The PC Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.",
            "format": "int32"
          },
          "MSAccess": {
            "type": "integer",
            "description": "The Mobile Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.",
            "format": "int32"
          }
        }
      },
      "CreateGSMSiteRequestModel": {
        "type": "object",
        "description": "Specifies information for creating the new site under a GSM console.",
        "additionalProperties": false,
        "required": [
          "SiteName",
          "Seats",
          "Comments",
          "Emails"
        ],
        "properties": {
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for the site.",
            "format": "int32"
          },
          "Comments": {
            "type": "string",
            "description": "The description for the site. Maximum of 1000 characters is allowed.",
            "minLength": 1
          },
          "BillingCycle": {
            "type": "string",
            "description": "Value specifying the billing cycle. Valid values are \"Annually\", \"Quarterly\", \"Monthly\", or \"Weekly\". Default value is \"Annually\".",
            "nullable": true
          },
          "BillingDate": {
            "type": "string",
            "description": "Value indicating the billing date based on the specified billing cycle. \n- For \"Annually\" specify the desired month and day of the year in the format \"MMM d\" (e.g. \"Aug 14\")\n- For \"Quarterly\" specify the desired month of the quarter and the day in the format \"MMM d\" (e.g. \"Jan 01\"). Pass \"Jan\", \"Feb\", or \"Mar\" for the first, second, or third month in the quarter, and 1 to 28 for the desired day of the month. For example \"Feb 15\" indicates that the billing occurs on the 15th day in every second month of a quarter.\n- For \"Monthly\" just specify the desired day of the month (days 1 to 28 are allowed only)\n- For \"Weekly\" just specify the desired day of the week (from 1 for Monday to 7 for Sunday)\n\nDefault value is \"Jan 01\".",
            "nullable": true
          },
          "GlobalPolicies": {
            "type": "boolean",
            "description": "Value (true/false) indicating if global policies are enabled for the site. Default value is false."
          },
          "GlobalOverrides": {
            "type": "boolean",
            "description": "Value (true/false) indicating if global overrides are enabled for the site. Default value is false."
          },
          "PolicyId": {
            "type": "string",
            "description": "The identifier of the policy for the new site. If not specified, the policy \"Recommended Defaults\" is assigned to the site.",
            "nullable": true
          },
          "Emails": {
            "type": "string",
            "description": "Comma-separated list of e-mail addresses for report distribution. Maximum of 10 email addresses is allowed.",
            "minLength": 1
          },
          "Trial": {
            "type": "boolean",
            "description": "Value (true/false) indicating if the type of the created keycode for the site should be a 30 day trial license. Default value is false."
          },
          "Modules": {
            "type": "array",
            "description": "The list of license modules to be associated with the site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateGSMSiteRequestModel_Module"
            }
          }
        }
      },
      "CreateGSMSiteRequestModel_Module": {
        "type": "object",
        "description": "Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, CRSB).",
        "additionalProperties": false,
        "required": [
          "Type",
          "LicenseType"
        ],
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the module (e.g. \"DNSP\" for DNS Protection, \"WSAT\" for Webroot Security Awareness Training, \"OTEDR\" for OpenText Endpoint Detection and Response, \"OTMDR\" for OpenText Managed Detection and Response).",
            "minLength": 1
          },
          "LicenseType": {
            "type": "string",
            "description": "The type of the license: Full or Trial.",
            "minLength": 1
          },
          "Enable": {
            "type": "boolean",
            "description": "Specifies whether the module should be enabled (true) or disabled (false). Defaults to true if no value is provided.\n\nOptional"
          }
        }
      },
      "EditGSMSiteRequestModel": {
        "type": "object",
        "description": "Specifies information about which information should be modified for the site.",
        "additionalProperties": false,
        "properties": {
          "SiteName": {
            "type": "string",
            "description": "The name of the site.",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for the site.",
            "format": "int32",
            "nullable": true
          },
          "Comments": {
            "type": "string",
            "description": "The description for the site. Maximum of 1000 characters is allowed.",
            "nullable": true
          },
          "BillingCycle": {
            "type": "string",
            "description": "Value specifying the billing cycle. Valid values are \"Annually\", \"Quarterly\", \"Monthly\", or \"Weekly\".",
            "nullable": true
          },
          "BillingDate": {
            "type": "string",
            "description": "Value indicating the billing date based on the specified billing cycle. \n- For \"Annually\" specify the desired month and day of the year in the format \"MMM d\" (e.g. \"Aug 14\")\n- For \"Quarterly\" specify the desired month of the quarter and the day in the format \"MMM d\" (e.g. \"Jan 01\"). Pass \"Jan\", \"Feb\", or \"Mar\" for the first, second, or third month in the quarter, and 1 to 28 for the desired day of the month. For example \"Feb 15\" indicates that the billing occurs on the 15th day in every second month of a quarter.\n- For \"Monthly\" just specify the desired day of the month (days 1 to 28 are allowed only)\n- For \"Weekly\" just specify the desired day of the week (from 1 for Monday to 7 for Sunday)",
            "nullable": true
          },
          "GlobalPolicies": {
            "type": "boolean",
            "description": "Value (true/false) indicating if global policies are enabled for the site."
          },
          "GlobalOverrides": {
            "type": "boolean",
            "description": "Value (true/false) indicating if global overrides are enabled for the site."
          },
          "PolicyId": {
            "type": "string",
            "description": "The policy identifier.",
            "nullable": true
          },
          "Emails": {
            "type": "string",
            "description": "Comma-separated list of e-mail addresses for report distribution. Maximum of 10 email addresses is allowed.",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The list of license modules to be changed for the site.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EditGSMSiteRequestModel_Module"
            }
          }
        }
      },
      "EditGSMSiteRequestModel_Module": {
        "type": "object",
        "description": "Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, CRSB).",
        "additionalProperties": false,
        "required": [
          "Type",
          "LicenseType",
          "Enable"
        ],
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the module (e.g. \"DNSP\" for DNS Protection, \"WSAT\" for Webroot Security Awareness Training, \"OTEDR\" for OpenText Endpoint Detection and Response, \"OTMDR\" for OpenText Managed Detection and Response).",
            "minLength": 1
          },
          "LicenseType": {
            "type": "string",
            "description": "The type of the license: Full or Trial.\n\nPlease be aware that it is not possible to switch from a Full to a Trial License.",
            "minLength": 1
          },
          "Enable": {
            "type": "boolean",
            "description": "Specifies whether the module should be enabled (true) or disabled (false)."
          }
        }
      },
      "GetGSMAdminsResponseModel": {
        "type": "object",
        "description": "Provides information about the list of admin users on a given GSM console.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of users available.",
            "format": "int32"
          },
          "Admins": {
            "type": "array",
            "description": "List of user details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMAdminsResponseModel_Admin"
            }
          }
        }
      },
      "GetGSMAdminsResponseModel_Admin": {
        "type": "object",
        "description": "Provides information about a user.",
        "additionalProperties": false,
        "properties": {
          "UserId": {
            "type": "string",
            "description": "The user identifier.",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "Email address of the user.",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "First name of the user.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "Last name of the user.",
            "nullable": true
          },
          "DisplayName": {
            "type": "string",
            "description": "Display name of the user.",
            "nullable": true
          },
          "MobileTel": {
            "type": "string",
            "description": "Mobile number of the user.",
            "nullable": true
          },
          "OfficeTel": {
            "type": "string",
            "description": "Office telephone number of the user.",
            "nullable": true
          },
          "UserState": {
            "type": "string",
            "description": "Indicates the user status. Valid values are \"Activated\", \"Awaiting\", \"Confirmation\", \"Deactivated\", \"Removed\", \"Trial\", \"PreUber13User\", \"Unknown\".",
            "nullable": true
          },
          "AccessLevel": {
            "type": "integer",
            "description": "Indicates if user has view only or admin permission on this site. Valid values are 128 for admin access, 1 for view only access, 0 for no access.",
            "format": "int32"
          },
          "MSPUser": {
            "type": "boolean",
            "description": "Value (true/false) indicating if user is attached to the GSM Console (regardless of permissions)."
          },
          "Confirmed": {
            "type": "boolean",
            "description": "Value (true/false) indicating if user is confirmed."
          }
        }
      },
      "CreateGSMAdminResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetGSMAdminsResponseModel_Admin"
          },
          {
            "type": "object",
            "description": "Provides information about the user which was added as an admin to a GSM console.",
            "additionalProperties": false
          }
        ]
      },
      "CreateGSMAdminRequestModel": {
        "type": "object",
        "description": "Specifies information for adding a user as an admin to a GSM console.",
        "additionalProperties": false,
        "required": [
          "EmailAddress",
          "FirstName",
          "LastName",
          "AccessLevel"
        ],
        "properties": {
          "EmailAddress": {
            "type": "string",
            "description": "Email address of the user to be added.",
            "minLength": 1
          },
          "FirstName": {
            "type": "string",
            "description": "Value to be set as the user's first name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "minLength": 1
          },
          "LastName": {
            "type": "string",
            "description": "Value to be set as the user's last name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "minLength": 1
          },
          "AccessLevel": {
            "type": "integer",
            "description": "The level of access to be granted to the user on the GSM console. Valid values are 128 to grant administrative access, or 1 to grant limited/view access only.",
            "format": "int32"
          }
        }
      },
      "EditGSMAdminRequestModel": {
        "type": "object",
        "description": "Specifies information for modifying certain user account attributes of a GSM admin.\n\nValues which are not provided or null in the request body remain unchanged.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "If provided, specifies the new value to be set as the user's first name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "If provided, specifies the new value to be set as the user's last name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "nullable": true
          }
        }
      },
      "GetGSMSiteAdminsResponseModel": {
        "type": "object",
        "description": "Provides information about the list of admin users on a given GSM site.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of users available.",
            "format": "int32"
          },
          "Admins": {
            "type": "array",
            "description": "List of user details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMSiteAdminsResponseModel_Admin"
            }
          }
        }
      },
      "GetGSMSiteAdminsResponseModel_Admin": {
        "type": "object",
        "description": "Provides information about a user.",
        "additionalProperties": false,
        "properties": {
          "UserId": {
            "type": "string",
            "description": "The user identifier.",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "Email address of the user.",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "First name of the user.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "Last name of the user.",
            "nullable": true
          },
          "DisplayName": {
            "type": "string",
            "description": "Display name of the user.",
            "nullable": true
          },
          "MobileTel": {
            "type": "string",
            "description": "Mobile number of the user.",
            "nullable": true
          },
          "OfficeTel": {
            "type": "string",
            "description": "Office telephone number of the user.",
            "nullable": true
          },
          "UserState": {
            "type": "string",
            "description": "Indicates the user status. Valid values are \"Activated\", \"Awaiting\", \"Confirmation\", \"Deactivated\", \"Removed\", \"Trial\", \"PreUber13User\", \"Unknown\".",
            "nullable": true
          },
          "AccessLevel": {
            "type": "integer",
            "description": "Indicates if user has view only or admin permission on this site. Valid values are 128 for admin access, 1 for view only access, 0 for no access.",
            "format": "int32"
          },
          "MSPUser": {
            "type": "boolean",
            "description": "Value (true/false) indicating if user is attached to the GSM Console (regardless of permissions)."
          },
          "Confirmed": {
            "type": "boolean",
            "description": "Value (true/false) indicating if user is confirmed."
          }
        }
      },
      "CreateGSMSiteAdminResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetGSMSiteAdminsResponseModel_Admin"
          },
          {
            "type": "object",
            "description": "Provides information about the user which was added as a site admin to a site.",
            "additionalProperties": false
          }
        ]
      },
      "CreateGSMSiteAdminRequestModel": {
        "type": "object",
        "description": "Specifies information for adding a user as an admin to a site.",
        "additionalProperties": false,
        "required": [
          "EmailAddress",
          "FirstName",
          "LastName",
          "AccessLevel"
        ],
        "properties": {
          "EmailAddress": {
            "type": "string",
            "description": "Email address of the user to be added.",
            "minLength": 1
          },
          "FirstName": {
            "type": "string",
            "description": "Value to be set as the user's first name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "minLength": 1
          },
          "LastName": {
            "type": "string",
            "description": "Value to be set as the user's last name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "minLength": 1
          },
          "AccessLevel": {
            "type": "integer",
            "description": "The level of access to be granted to the user on the site. Valid values are 128 to grant administrative access, or 1 to grant limited/view access only.",
            "format": "int32"
          }
        }
      },
      "EditGSMSiteAdminRequestModel": {
        "type": "object",
        "description": "Specifies information for modifying certain user account attributes of a site admin.\n\nValues which are not provided or null in the request body remain unchanged.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "If provided, specifies the new value to be set as the user's first name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "If provided, specifies the new value to be set as the user's last name. \nThe name must be at least 2 characters and not more than 30 characters in length.",
            "nullable": true
          }
        }
      },
      "EditGSMSiteAdminsRequestModel": {
        "type": "object",
        "description": "Specifies information for associating admins with a GSM site.",
        "additionalProperties": false,
        "required": [
          "Admins"
        ],
        "properties": {
          "Admins": {
            "type": "array",
            "description": "The list of admins to add or modify for the site.",
            "items": {
              "$ref": "#/components/schemas/EditGSMSiteAdminsRequestModel_Admin"
            }
          }
        }
      },
      "EditGSMSiteAdminsRequestModel_Admin": {
        "type": "object",
        "description": "Specifies information for associating an admin with a GSM site, or for modifying an admin's access to a GSM site.",
        "additionalProperties": false,
        "required": [
          "UserId",
          "AccessLevel"
        ],
        "properties": {
          "UserId": {
            "type": "string",
            "description": "The admin's user identifier.",
            "minLength": 1
          },
          "AccessLevel": {
            "type": "integer",
            "description": "The access level the admin should be granted for the site. Valid values are 128 for admin access, 1 for view only access, and 0 for no access.",
            "format": "int32"
          }
        }
      },
      "GetGSMPoliciesResponseModel": {
        "type": "object",
        "description": "Provides information about the list of global policies available on a given GSM console.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of policies available.",
            "format": "int32"
          },
          "Deleted": {
            "type": "boolean",
            "description": "Value (true/false) indicating if any of the policies are deleted."
          },
          "Policies": {
            "type": "array",
            "description": "List of policy details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMPoliciesResponseModel_Policy"
            }
          }
        }
      },
      "GetGSMPoliciesResponseModel_Policy": {
        "type": "object",
        "description": "Provides information about a policy.",
        "additionalProperties": false,
        "properties": {
          "PolicyId": {
            "type": "string",
            "description": "Policy identifier.",
            "nullable": true
          },
          "DateCreated": {
            "type": "string",
            "description": "Date when policy was created.",
            "format": "date-time",
            "nullable": true
          },
          "PolicyName": {
            "type": "string",
            "description": "Name of the policy.",
            "nullable": true
          },
          "LivePolicy": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is live."
          },
          "PendingPolicy": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is pending."
          },
          "PolicyDescription": {
            "type": "string",
            "description": "Description of the policy.",
            "nullable": true
          },
          "Deleted": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy has been deleted."
          },
          "Canned": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is a canned policy."
          },
          "DefaultSetting": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy has its default setting."
          },
          "PolicyType": {
            "type": "string",
            "description": "Type of policy: Advanced or Simple.",
            "nullable": true
          }
        }
      },
      "GetGSMSitePoliciesResponseModel": {
        "type": "object",
        "description": "Provides information about the list of policies available on a given GSM site.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of policies available.",
            "format": "int32"
          },
          "Deleted": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether any policy has been deleted."
          },
          "Policies": {
            "type": "array",
            "description": "List of policy details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGSMSitePoliciesResponseModel_Policy"
            }
          }
        }
      },
      "GetGSMSitePoliciesResponseModel_Policy": {
        "type": "object",
        "description": "Provides information about a policy.",
        "additionalProperties": false,
        "properties": {
          "PolicyId": {
            "type": "string",
            "description": "Policy identifier.",
            "nullable": true
          },
          "DateCreated": {
            "type": "string",
            "description": "Date when policy was created.",
            "format": "date-time",
            "nullable": true
          },
          "PolicyName": {
            "type": "string",
            "description": "Name of the policy.",
            "nullable": true
          },
          "LivePolicy": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is live."
          },
          "PendingPolicy": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is pending."
          },
          "PolicyDescription": {
            "type": "string",
            "description": "Description of the policy.",
            "nullable": true
          },
          "Deleted": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy has been deleted."
          },
          "Canned": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy is a canned policy."
          },
          "DefaultSetting": {
            "type": "boolean",
            "description": "Value (true/false) indicating whether the policy has its default setting."
          },
          "GlobalPolicy": {
            "type": "boolean",
            "description": "Identifier for the configuration string on the backend."
          },
          "PolicyType": {
            "type": "string",
            "description": "Indicates the type of the policy. Valid values are \"Simple\" and \"Advanced\".",
            "nullable": true
          }
        }
      },
      "GetGroupsResponseModel": {
        "type": "object",
        "description": "Provides information about a list of groups",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of groups available.",
            "format": "int32"
          },
          "Groups": {
            "type": "array",
            "description": "List of group details records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetGroupsResponseModel_Group"
            }
          }
        }
      },
      "GetGroupsResponseModel_Group": {
        "type": "object",
        "description": "Provides information about a group.",
        "additionalProperties": false,
        "properties": {
          "Endpoints": {
            "type": "integer",
            "description": "Number of endpoints in the group.",
            "format": "int64"
          },
          "GroupCode": {
            "type": "string",
            "description": "The code of the group required for installing endpoints to a specific group from the command line.",
            "nullable": true
          },
          "GroupId": {
            "type": "string",
            "description": "The id of the group.",
            "nullable": true
          },
          "GroupName": {
            "type": "string",
            "description": "The name of the group.",
            "nullable": true
          },
          "GroupDescription": {
            "type": "string",
            "description": "The description of the group.",
            "nullable": true
          },
          "GroupPolicyId": {
            "type": "string",
            "description": "The id of the policy applied to the group.",
            "nullable": true
          },
          "GroupPolicyName": {
            "type": "string",
            "description": "The name of the policy applied to the group.",
            "nullable": true
          }
        }
      },
      "CreateGroupResponseModel": {
        "type": "object",
        "description": "Provides information about the created group.",
        "additionalProperties": false,
        "properties": {
          "GroupId": {
            "type": "string",
            "description": "The id of the group that has been created.",
            "nullable": true
          }
        }
      },
      "CreateGroupRequestModel": {
        "type": "object",
        "description": "Specifies information for creating a new group.",
        "additionalProperties": false,
        "required": [
          "GroupName",
          "GroupDescription"
        ],
        "properties": {
          "GroupName": {
            "type": "string",
            "description": "The name of the group. Maximum of 50 characters is allowed.",
            "minLength": 1
          },
          "GroupDescription": {
            "type": "string",
            "description": "The description of the group. Maximum of 50 characters is allowed.",
            "minLength": 1
          },
          "PolicyId": {
            "type": "string",
            "description": "The id of the policy applied to the group. If not specified, the default policy will be applied.",
            "nullable": true
          }
        }
      },
      "EditGroupRequestModel": {
        "type": "object",
        "description": "Specifies information for applying a new policy to the group, changing the group name or the group description.",
        "additionalProperties": false,
        "properties": {
          "Inheritance": {
            "type": "integer",
            "description": "Value defining which policy should take effect, if a policy is specified. \n- 0 = The policy assignment of the endpoints in the group does not change. Endpoints which previously inherited their policies from the group's endpoint policy setting will inherit from the updated policy setting.\n- 1 = The new policy will be applied to all endpoints in the group.\n- 3 = No longer supported.\n\nDefault value is 0. \n\n\n\n**Note:** Inheritance value 3 is no longer supported and behaves as if 0 was specified. If you used value 3 before, it is recommended to switch to value 0 instead.",
            "format": "int32"
          },
          "GroupName": {
            "type": "string",
            "description": "The name of the group.",
            "nullable": true
          },
          "GroupDescription": {
            "type": "string",
            "description": "The description of the group.",
            "nullable": true
          },
          "PolicyId": {
            "type": "string",
            "description": "The id of the policy that should be applied to the group.",
            "nullable": true
          }
        }
      },
      "GetEndpointsResponseModel": {
        "type": "object",
        "description": "Provides information about a list of endpoints.",
        "additionalProperties": false,
        "properties": {
          "TotalAvailable": {
            "type": "integer",
            "description": "Use this value to determine if you need to retrieve additional pages of data. If *TotalAvailable* is larger than *PageNr \\* PageSize* then more endpoints are available.",
            "format": "int32",
            "nullable": true
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was request.",
            "format": "int32",
            "nullable": true
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "Endpoints": {
            "type": "array",
            "description": "List of endpoint records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetEndpointsResponseModel_Endpoint"
            }
          }
        }
      },
      "GetEndpointsResponseModel_Endpoint": {
        "type": "object",
        "description": "Provides endpoint details.",
        "additionalProperties": false,
        "properties": {
          "Seq": {
            "type": "integer",
            "description": "The index number of the endpoint in context of the executed query.",
            "format": "int32",
            "nullable": true
          },
          "EndpointId": {
            "type": "string",
            "description": "The endpoint identifier.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint.",
            "nullable": true
          },
          "GroupName": {
            "type": "string",
            "description": "The name of the group the endpoint belongs to.",
            "nullable": true
          },
          "FirstSeen": {
            "type": "string",
            "description": "The date the endpoint was first seen.",
            "format": "date-time",
            "nullable": true
          },
          "LastSeen": {
            "type": "string",
            "description": "The date the endpoint was last seen.",
            "format": "date-time",
            "nullable": true
          },
          "AgentVersion": {
            "type": "string",
            "description": "The version number of the agent the endpoint is using.",
            "nullable": true
          },
          "LicenseKey": {
            "type": "string",
            "description": "The license key the endpoint is using.",
            "nullable": true
          },
          "Expired": {
            "type": "boolean",
            "description": "Indicates if the key has expired."
          },
          "LastChangesUserId": {
            "type": "string",
            "description": "The id of the user performing the last change on the endpoint.",
            "nullable": true
          },
          "MachineId": {
            "type": "string",
            "description": "Machine ID of the endpoint.",
            "nullable": true
          },
          "PolicyId": {
            "type": "string",
            "description": "The policy identifier.",
            "nullable": true
          },
          "VM": {
            "type": "boolean",
            "description": "Indicates if endpoint runs within virtual machine."
          },
          "AgentLanguage": {
            "type": "string",
            "description": "The language used for the agent.",
            "nullable": true
          },
          "FriendlyPCName": {
            "type": "string",
            "description": "Only specified if the endpoint has been renamed to a more recognizable name in the GSM console.",
            "nullable": true
          },
          "GroupId": {
            "type": "string",
            "description": "The id of the group the endpoint belongs to.",
            "nullable": true
          },
          "PolicyName": {
            "type": "string",
            "description": "The policy name.",
            "nullable": true
          },
          "LastInfected": {
            "type": "string",
            "description": "The date the endpoint last reported an infection.",
            "format": "date-time",
            "nullable": true
          },
          "InfectedNow": {
            "type": "boolean",
            "description": "Indicates if endpoint is currently infected."
          },
          "NumUsers": {
            "type": "integer",
            "description": "The number of the current users.",
            "format": "int32",
            "nullable": true
          },
          "MaxUsers": {
            "type": "integer",
            "description": "The maximum number of users.",
            "format": "int32",
            "nullable": true
          },
          "InternalIP": {
            "type": "string",
            "description": "The internal IP address of the endpoint.",
            "nullable": true
          },
          "MACAddress": {
            "type": "string",
            "description": "The MAC address of the endpoint.",
            "nullable": true
          },
          "ADDomain": {
            "type": "string",
            "description": "The active directory domain the endpoint belongs to.",
            "nullable": true
          },
          "ADOU": {
            "type": "string",
            "description": "The active directory organizational unit the endpoint belongs to.",
            "nullable": true
          },
          "Workgroup": {
            "type": "string",
            "description": "The workgroup the endpoint belongs to.",
            "nullable": true
          },
          "CurrentUser": {
            "type": "string",
            "description": "The current user on the endpoint.",
            "nullable": true
          },
          "Mac": {
            "type": "boolean",
            "description": "Indicates if the endpoint runs on a mac."
          },
          "WindowsFullOS": {
            "type": "string",
            "description": "The full Windows operating system name.",
            "nullable": true
          },
          "LastPublicIP": {
            "type": "string",
            "description": "The last public ip address the endpoint reported.",
            "nullable": true
          },
          "Deactivated": {
            "type": "boolean",
            "description": "Indicates if the endpoint is deactivated."
          },
          "LastScanSeq": {
            "type": "string",
            "description": "The sequence number of the last scan.",
            "nullable": true
          },
          "ModifiedDate": {
            "type": "string",
            "description": "Date when the endpoint's console state last changed.\n\nThe date is updated when e.g. the endpoint is assigned to a different group or policy, or when the endpoint is deactivated or reactivated. The ModifiedDate field can for example be used to identify when an endpoint has been deactivated because once an endpoint is deactivated, i.e. the value of the Deactivated field is true, the only subsequent state change allowed is reactivating the endpoint.",
            "format": "date-time",
            "nullable": true
          },
          "IsolationStatus": {
            "type": "string",
            "description": "Indicates the isolation status of the endpoint.\n\nSupported values are ISOLATED, UNISOLATED, PENDING\\_UNISOLATION, PENDING\\_ISOLATION.",
            "nullable": true
          },
          "ActiveModules": {
            "type": "array",
            "description": "Lists the active modules on the endpoint.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SetGroupEndpointsRequestModel": {
        "type": "object",
        "description": "Specifies information for setting a new group for a list of endpoints, for a group of endpoints, or for all endpoints on the site.\n\nEither use *EndpointsList* or *SourceGroupId* to specify the endpoints being moved. If both are specified, *EndpointsList* is used. If both are left empty, all endpoints on the site are moved to the group specified by *TargetGroupId*.",
        "additionalProperties": false,
        "required": [
          "TargetGroupId"
        ],
        "properties": {
          "EndpointsList": {
            "type": "string",
            "description": "Comma delimited string of endpoint ids. The endpoints are moved to the group specified by *TargetGroupId*.",
            "nullable": true
          },
          "SourceGroupId": {
            "type": "string",
            "description": "The id of the group where endpoints are moved from.",
            "nullable": true
          },
          "TargetGroupId": {
            "type": "string",
            "description": "The id of the group where endpoints are moved to.",
            "minLength": 1
          },
          "Inheritance": {
            "type": "integer",
            "description": "Value defining which policy should take effect. \n- 0 = The policy assignment of moved endpoints does not change. Endpoints which previously inherited their policies from the group's endpoint policy setting will inherit from the target group's endpoint policy setting.\n- 1 = The target group's policy will be applied to all moved endpoints.\n- 3 = No longer supported.\n\nDefault value is 0. \n\n\n\n**Note:** Inheritance value 3 is no longer supported and behaves as if 0 was specified. If you used value 3 before, it is recommended to switch to value 0 instead.",
            "format": "int32"
          }
        }
      },
      "SetPolicyEndpointsRequestModel": {
        "type": "object",
        "description": "Specifies information for setting a new policy for a list of endpoints or for all endpoints on the site.",
        "additionalProperties": false,
        "required": [
          "PolicyId"
        ],
        "properties": {
          "EndpointsList": {
            "type": "string",
            "description": "Comma delimited string of endpoint identifiers. If not specified, the policy is set for all endpoints on the site.",
            "nullable": true
          },
          "PolicyId": {
            "type": "string",
            "description": "The identifier of the policy that should be applied.",
            "minLength": 1
          }
        }
      },
      "SetPolicyGroupEndpointsRequestModel": {
        "type": "object",
        "description": "Specifies information for setting a new policy for a group of endpoints.",
        "additionalProperties": false,
        "required": [
          "PolicyId"
        ],
        "properties": {
          "PolicyId": {
            "type": "string",
            "description": "The identifier of the policy that should be applied.",
            "minLength": 1
          }
        }
      },
      "SetCommandReOrDeactivateRequestModel": {
        "type": "object",
        "description": "Specifies information for either reactivating or deactivating a list of endpoints, or all endpoints on a site.",
        "additionalProperties": false,
        "properties": {
          "EndpointsList": {
            "type": "string",
            "description": "Comma delimited string of endpoint ids. If not specified, the command gets applied to all endpoints on the site.",
            "nullable": true
          }
        }
      },
      "GetCommandsResponseModel": {
        "type": "object",
        "description": "Provides information about a list of executed commands.",
        "additionalProperties": false,
        "properties": {
          "TotalAvailable": {
            "type": "integer",
            "description": "The total number of commands in the past 6 months. Use this value to determine if you need to retrieve additional pages of data.",
            "format": "int32",
            "nullable": true
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "Commands": {
            "type": "array",
            "description": "List of command records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetCommandsResponseModel_Command"
            }
          }
        }
      },
      "GetCommandsResponseModel_Command": {
        "type": "object",
        "description": "Provides details about executed commands.",
        "additionalProperties": false,
        "properties": {
          "DateRequested": {
            "type": "string",
            "description": "The date the command was requested.",
            "format": "date-time",
            "nullable": true
          },
          "EndpointId": {
            "type": "string",
            "description": "The endpoint identifier.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The endpoints hostname.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "Earliest date the command can be run.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "Latest date the command can be run.",
            "format": "date-time",
            "nullable": true
          },
          "Command": {
            "type": "string",
            "description": "The type of command (\"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\").",
            "nullable": true
          },
          "Parameters": {
            "type": "string",
            "description": "The parameters associated with the command, if any. \ne.g. **changekeycode** and **sysisolate** commands have *Parameters* value specified - for changekeycode the value will be the changed keycode, for sysisolate the value will be either \"on\" (for isolating) or \"off\" (for unisolating).",
            "nullable": true
          },
          "CommandState": {
            "type": "integer",
            "description": "The state of the command. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed.",
            "format": "int32"
          }
        }
      },
      "SetCommandRequestModel": {
        "type": "object",
        "description": "Specifies information for issuing a new command to a list of endpoints, or to all endpoints on a site.",
        "additionalProperties": false,
        "required": [
          "Command"
        ],
        "properties": {
          "EndpointsList": {
            "type": "string",
            "description": "Comma delimited string of endpoint ids. If not specified, the command gets applied to all endpoints on the site.",
            "nullable": true
          },
          "Command": {
            "type": "string",
            "description": "The type of the command. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\".",
            "minLength": 1
          },
          "Parameters": {
            "type": "string",
            "description": "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating).",
            "nullable": true
          }
        }
      },
      "SetCommandGroupRequestModel": {
        "type": "object",
        "description": "Specifies information for issuing a new command to a group of endpoints.",
        "additionalProperties": false,
        "required": [
          "Command"
        ],
        "properties": {
          "Command": {
            "type": "string",
            "description": "The type of the command. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\", \"sysisolate\".",
            "minLength": 1
          },
          "Parameters": {
            "type": "string",
            "description": "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating).",
            "nullable": true
          }
        }
      },
      "GetThreatHistoryResponseModel": {
        "type": "object",
        "description": "Provides threat history information.",
        "additionalProperties": false,
        "properties": {
          "MoreAvailable": {
            "type": "boolean",
            "description": "Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional threat history records.",
            "nullable": true
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "Start date for returned records. Threat history entries after (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned records. Threat history entries before (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "ThreatRecords": {
            "type": "array",
            "description": "List of threat history records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetThreatHistoryResponseModel_Record"
            }
          }
        }
      },
      "GetThreatHistoryResponseModel_Record": {
        "type": "object",
        "description": "Provides details about a threat incidence.",
        "additionalProperties": false,
        "properties": {
          "EndpointId": {
            "type": "string",
            "description": "The endpoint identifier on which the threat was detected.",
            "nullable": true
          },
          "MachineId": {
            "type": "string",
            "description": "Machine ID of the endpoint on which the threat was detected.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint on which the threat was detected.",
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "description": "The filename of the detected threat.",
            "nullable": true
          },
          "PathName": {
            "type": "string",
            "description": "The path to the directory where the file was found.\n\nIf the path included a drive letter, the letter has been replaced with a question mark. For example, you might see a pathname that looks similar to the following: ?:\\users\\user1\\desktop.",
            "nullable": true
          },
          "MalwareGroup": {
            "type": "string",
            "description": "The classification of the malware; for example: Trojan or System Monitor.",
            "nullable": true
          },
          "FirstSeen": {
            "type": "string",
            "description": "The date and time when the file was first seen on the endpoint.",
            "format": "date-time"
          },
          "LastSeen": {
            "type": "string",
            "description": "The date and time when the file was last seen on the endpoint.",
            "format": "date-time"
          },
          "ExtendedInfo": {
            "description": "Extended information about the threat incidence. This information is only included when explicitly requested.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetThreatHistoryResponseModel_ExtendedInfo"
              }
            ]
          }
        }
      },
      "GetThreatHistoryResponseModel_ExtendedInfo": {
        "type": "object",
        "description": "Provides extended information about a threat incidence.",
        "additionalProperties": false,
        "properties": {
          "DwellTime": {
            "type": "integer",
            "description": "The time in seconds the threat has been present on the device. It is calculated from the first time the file is active to when the file was last seen.",
            "format": "int64"
          },
          "FileMD5": {
            "type": "string",
            "description": "The MD5 hash value of the file.",
            "nullable": true
          },
          "FileSize": {
            "type": "integer",
            "description": "The size of the file in bytes.",
            "format": "int64"
          },
          "UserName": {
            "type": "string",
            "description": "The name of the user that was logged in when the threat was detected.",
            "nullable": true
          },
          "IPAddress": {
            "type": "string",
            "description": "The (internal) IP address of the endpoint on which the threat was detected.",
            "nullable": true
          },
          "Determination": {
            "type": "string",
            "description": "The Webroot classification of the file, which can be \"G\" (Good), \"B\" (Bad), or \"U\" (Undetermined).",
            "nullable": true
          },
          "FileVendor": {
            "type": "string",
            "description": "The name of the vendor associated with the file, if SecureAnywhere could determine that information.",
            "nullable": true
          },
          "FileProduct": {
            "type": "string",
            "description": "The name of the product associated with the file, if SecureAnywhere could determine that information.",
            "nullable": true
          },
          "FileVersion": {
            "type": "string",
            "description": "The version of the product associated with the file, if SecureAnywhere could determine that information.",
            "nullable": true
          }
        }
      },
      "GetBlockedURLsCountsResponse": {
        "type": "object",
        "description": "Provides per-day summary counts of the number of URL actions over a certain time range.",
        "additionalProperties": false,
        "properties": {
          "IncludeDeactivated": {
            "type": "boolean",
            "description": "Value indicating whether URL actions of endpoints that are currently deactivated are included in the counts."
          },
          "IncludeHidden": {
            "type": "boolean",
            "description": "Value indicating whether URL actions of endpoints that are currently hidden are included in the counts."
          },
          "StartDate": {
            "type": "string",
            "description": "The start date that was used for the data query.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "The end date that was used for the data query.",
            "format": "date-time"
          },
          "DatedCounts": {
            "type": "array",
            "description": "List of dated counts of URL actions for the related time periods.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetBlockedURLsCountsResponseDatedCount"
            }
          }
        }
      },
      "GetBlockedURLsCountsResponseDatedCount": {
        "type": "object",
        "description": "Provides the count of URL actions for the applicable periodicity.",
        "additionalProperties": false,
        "properties": {
          "Date": {
            "type": "string",
            "description": "The date for which the count value applies to.",
            "format": "date-time"
          },
          "Count": {
            "type": "integer",
            "description": "Number of URL actions in the associated time period.",
            "format": "int64"
          }
        }
      },
      "GetBlockedURLsDataResponse": {
        "type": "object",
        "description": "Provides information about URL actions for a certain time range.",
        "additionalProperties": false,
        "properties": {
          "MoreAvailable": {
            "type": "boolean",
            "description": "Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional URL action records."
          },
          "IncludeDeactivated": {
            "type": "boolean",
            "description": "Value indicating whether URL actions of endpoints that are currently deactivated are included in the response."
          },
          "IncludeHidden": {
            "type": "boolean",
            "description": "Value indicating whether URL actions of endpoints that are currently hidden are included in the response."
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was requested.",
            "format": "int32"
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32"
          },
          "StartDate": {
            "type": "string",
            "description": "The start date that was used for the data query.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "The end date that was used for the data query.",
            "format": "date-time"
          },
          "BlockedURLs": {
            "type": "array",
            "description": "List of blocked URLs and related URL actions.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetBlockedURLsDataResponseBlockedURL"
            }
          }
        }
      },
      "GetBlockedURLsDataResponseBlockedURL": {
        "type": "object",
        "description": "Provides information about a URL action record.",
        "additionalProperties": false,
        "properties": {
          "BlockedUrl": {
            "type": "string",
            "description": "The URL which was blocked or acted upon.",
            "nullable": true
          },
          "BlockReasonId": {
            "type": "integer",
            "description": "The identifier of the BrightCloud category which caused Web Threat Shield to block the respective URL (e.g. 67), or 0 if no category is associated with the URL. \nYou can view a list of all available BrightCloud categories by visiting this [BrightCloud page](https://www.brightcloud.com/tools/change-request.php#urlcategories).",
            "format": "int32"
          },
          "BlockReasonName": {
            "type": "string",
            "description": "The name of the category specified by *BlockReasonId*, or \"Low Reputation\", if *BlockReasonId* is 0.",
            "nullable": true
          },
          "BCRI": {
            "type": "integer",
            "description": "The BrightCloud Reputation Index (BCRI) value that caused Web Threat Shield to block the URL. The BrightCloud Reputation Index is a security related score which is based on BrightCloud intelligence for a given URL: 80-100 is trustworthy, 60-79 is low risk, 40-59 is moderate risk, 20-39 is suspicious, and 0-19 is high risk. \n**Note: **The *BCRI* value may be null, if a URL is blocked via means of advanced in-place analysis instead of its URL reputation or category, or if *ActionTaken* is \"WHITELIST\".",
            "format": "int32",
            "nullable": true
          },
          "Timestamp": {
            "type": "string",
            "description": "The date when the URL action was processed.",
            "format": "date-time"
          },
          "ActionTaken": {
            "type": "string",
            "description": "The action that was executed on or requested for the blocked URL. Possible values are: \n- BLOCK: The user was blocked from visiting the URL.\n- RECLASSIFY: The user requested a review of the category and reputation of the URL.\n- WHITELIST: The user white-listed the URL.",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The host name of the endpoint on which the action on the URL was triggered.",
            "nullable": true
          },
          "EndpointId": {
            "type": "string",
            "description": "The console identifier of the endpoint.",
            "nullable": true
          }
        }
      },
      "GetDNSPCategoriesResponseModel": {
        "type": "object",
        "description": "Provides information about DNS Protection categories.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of categories available.",
            "format": "int32"
          },
          "Categories": {
            "type": "array",
            "description": "The list of categories.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPCategoriesResponseModel_Category"
            }
          }
        }
      },
      "GetDNSPCategoriesResponseModel_Category": {
        "type": "object",
        "description": "Provides details about a DNS Protection category.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "description": "The category id.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The category name.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "The category description.",
            "nullable": true
          }
        }
      },
      "GetDNSPGlobalPoliciesResponseModel": {
        "type": "object",
        "description": "Provides information about configured DNS Protection policies.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of policies available.",
            "format": "int32"
          },
          "Policies": {
            "type": "array",
            "description": "The list of policies.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPGlobalPoliciesResponseModel_Policy"
            }
          }
        }
      },
      "GetDNSPGlobalPoliciesResponseModel_Policy": {
        "type": "object",
        "description": "Provides details about a DNS Protection category.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "The DNS Protection policy id.",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "The policy name.",
            "nullable": true
          },
          "BlockedCategories": {
            "type": "array",
            "description": "A list of blocked categories that have been configured for this policy.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "Editable": {
            "type": "boolean",
            "description": "Indicates if the policy can be changed."
          },
          "CreatedDate": {
            "type": "string",
            "description": "The date when the policy has been created.",
            "format": "date-time",
            "nullable": true
          },
          "ModifiedDate": {
            "type": "string",
            "description": "The date when the policy last changed.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "GetDNSPPolicyMappingsResponseModel": {
        "type": "object",
        "description": "Provides information about DNS Protection policy mappings.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Total number of policy mappings available.",
            "format": "int32"
          },
          "PolicyMappings": {
            "type": "array",
            "description": "The list of mappings.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPPolicyMappingsResponseModel_Mapping"
            }
          }
        }
      },
      "GetDNSPPolicyMappingsResponseModel_Mapping": {
        "type": "object",
        "description": "Provides details about a DNS Protection policy mapping.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "The mapping id.",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "description": "The type of the mapping.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "The value of the mapping. For mappings of type \"StaticIP\" the value is an IP address.",
            "nullable": true
          },
          "DNSPolicyId": {
            "type": "string",
            "description": "The DNS Protection policy id assigned to the mapping.",
            "nullable": true
          }
        }
      },
      "CreateDNSPPolicyMappingResponseModel": {
        "type": "object",
        "description": "Provides information about the newly created DNS Protection policy mapping.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "The mapping id.",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "description": "The type of the mapping.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "The value of the mapping. For mappings of type \"StaticIP\" the value is an IP address.",
            "nullable": true
          },
          "DNSPolicyId": {
            "type": "string",
            "description": "The DNS Protection policy id assigned to the mapping.",
            "nullable": true
          }
        }
      },
      "CreateDNSPPolicyMappingRequestModel": {
        "type": "object",
        "description": "Specifies information for creating a new DNS Protection policy mapping.",
        "additionalProperties": false,
        "required": [
          "Type",
          "Value",
          "DNSPolicyId"
        ],
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the mapping. The supported type is \"StaticIP\", which associates an IP address with a DNS Protection policy.",
            "minLength": 1
          },
          "Value": {
            "type": "string",
            "description": "The value of the mapping. For mappings of type \"StaticIP\" the value must be an IP address.",
            "minLength": 1
          },
          "DNSPolicyId": {
            "type": "string",
            "description": "The DNS Protection policy id to be set for the mapping.",
            "minLength": 1
          }
        }
      },
      "EditDNSPPolicyMappingResponseModel": {
        "type": "object",
        "description": "Provides information about the newly edited DNS Protection policy mapping.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "The mapping id.",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "description": "The type of the mapping.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "The value of the mapping. For mappings of type \"StaticIP\" the value is an IP address.",
            "nullable": true
          },
          "DNSPolicyId": {
            "type": "string",
            "description": "The DNS Protection policy id assigned to the mapping.",
            "nullable": true
          }
        }
      },
      "EditDNSPPolicyMappingRequestModel": {
        "type": "object",
        "description": "Specifies information for editing a existing DNS Protection policy mapping.\n\nEither DNSPolicyId, Type and Value, or all properties need to be specified.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type of the mapping. The supported type is \"StaticIP\", which associates an IP address with a DNS Protection policy.\n\nIf specified, Value needs to be specified too.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "The value of the mapping. For mappings of type \"StaticIP\" the value must be an IP address.\n\nIf specified, Type needs to be specified too.",
            "nullable": true
          },
          "DNSPolicyId": {
            "type": "string",
            "description": "The DNS Protection policy id to be set for the mapping.",
            "nullable": true
          }
        }
      },
      "GetDNSPBlockReasonsResponseModel": {
        "type": "object",
        "description": "Provides information about possible reasons why a domain may be blocked by the DNS Protection service.",
        "additionalProperties": false,
        "properties": {
          "TotalCount": {
            "type": "integer",
            "description": "Number of block reasons in the BlockReasons array.",
            "format": "int32"
          },
          "BlockReasons": {
            "type": "array",
            "description": "The list of block reasons.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPBlockReasonsResponseModel_Reason"
            }
          }
        }
      },
      "GetDNSPBlockReasonsResponseModel_Reason": {
        "type": "object",
        "description": "Provides details about a reason why a domain may be blocked by the DNS Protection service.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "integer",
            "description": "The block reason identifier.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The block reason name.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "The block reason description.",
            "nullable": true
          }
        }
      },
      "GetDNSPBlockedTrafficResponseModel": {
        "type": "object",
        "description": "Provides information about traffic that was blocked by the DNS Protection service.",
        "additionalProperties": false,
        "properties": {
          "MoreAvailable": {
            "type": "boolean",
            "description": "Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional blocked request records.",
            "nullable": true
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date that was used for the data query.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "The end date that was used for the data query.",
            "format": "date-time"
          },
          "SiteId": {
            "type": "string",
            "description": "The identifier of the GSM site traffic information was queried for.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the GSM site traffic information was queried for.",
            "nullable": true
          },
          "BlockedRequests": {
            "type": "array",
            "description": "The list of blocked request records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPBlockedTrafficResponseModel_DNSRequest"
            }
          }
        }
      },
      "GetDNSPBlockedTrafficResponseModel_DNSRequest": {
        "type": "object",
        "description": "Provides details about a requests that was blocked by the DNS Protection service.\n\nPlease be aware that *HostName*, *UserName*, and *AgentVersion* may be empty in case the request was blocked at the gateway level (when not having DNSP agent software installed on endpoints) instead of at the endpoint level (with DNSP agent software installed).",
        "additionalProperties": false,
        "properties": {
          "Timestamp": {
            "type": "string",
            "description": "The time when the DNS request was made.",
            "format": "date-time",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint from which the domain was requested.",
            "nullable": true
          },
          "UserName": {
            "type": "string",
            "description": "The name of the user that requested the domain on the endpoint.",
            "nullable": true
          },
          "AgentVersion": {
            "type": "string",
            "description": "The version of the DNS Protection agent software installed on the endpoint from which the domain was requested.",
            "nullable": true
          },
          "SourceIp": {
            "type": "string",
            "description": "The source IP of the endpoint from which the domain was requested.",
            "nullable": true
          },
          "Domain": {
            "type": "string",
            "description": "The domain that was blocked.",
            "nullable": true
          },
          "DomainIps": {
            "type": "array",
            "description": "A list of IP addresses which were associated with the blocked domain at the time the request was logged.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "CategoryIds": {
            "type": "array",
            "description": "A list of DNS Protection category identifiers which were assigned to the blocked domain at the time the request was logged.\n\nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "BlockReasonId": {
            "type": "integer",
            "description": "The identifier of the reason why the domain was blocked.\n\nCall ['get block reasons'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-blockreasons) to get a list of available block reasons and their respective identifiers.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetDNSPTrafficByCategoryResponseModel": {
        "type": "object",
        "description": "Provides information about traffic that was seen by the DNS Protection service for certain categories.",
        "additionalProperties": false,
        "properties": {
          "MoreAvailable": {
            "type": "boolean",
            "description": "Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional request records.",
            "nullable": true
          },
          "PageNr": {
            "type": "integer",
            "description": "The number of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "PageSize": {
            "type": "integer",
            "description": "The size of the page that was requested.",
            "format": "int32",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date that was used for the data query.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "The end date that was used for the data query.",
            "format": "date-time"
          },
          "SiteId": {
            "type": "string",
            "description": "The identifier of the GSM site traffic information was queried for.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the GSM site traffic information was queried for.",
            "nullable": true
          },
          "Requests": {
            "type": "array",
            "description": "The list of request records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPTrafficByCategoryResponseModel_DNSRequest"
            }
          }
        }
      },
      "GetDNSPTrafficByCategoryResponseModel_DNSRequest": {
        "type": "object",
        "description": "Provides details about a request that was made against the DNS protection service.\n\nPlease be aware that *HostName*, *UserName*, and *AgentVersion* may be empty in case the DNS request originated from an endpoint that did not have DNSP agent software installed, but instead was protected by the DNS Protection service configured at the gateway level.",
        "additionalProperties": false,
        "properties": {
          "Timestamp": {
            "type": "string",
            "description": "The time when the DNS request was made.",
            "format": "date-time",
            "nullable": true
          },
          "HostName": {
            "type": "string",
            "description": "The hostname of the endpoint from which the domain was requested.",
            "nullable": true
          },
          "UserName": {
            "type": "string",
            "description": "The name of the user that requested the domain on the endpoint.",
            "nullable": true
          },
          "AgentVersion": {
            "type": "string",
            "description": "The version of the DNS Protection agent software installed on the endpoint from which the domain was requested.",
            "nullable": true
          },
          "SourceIp": {
            "type": "string",
            "description": "The source IP of the endpoint from which the domain was requested.",
            "nullable": true
          },
          "Domain": {
            "type": "string",
            "description": "The domain that was requested.",
            "nullable": true
          },
          "DomainIps": {
            "type": "array",
            "description": "A list of IP addresses which were associated with the domain at the time the request was logged.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "CategoryIds": {
            "type": "array",
            "description": "A list of DNS Protection category identifiers which were assigned to the domain at the time the request was logged.\n\nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.",
            "nullable": true,
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "ActionTaken": {
            "type": "integer",
            "description": "The identifier of the action that was taken on the DNS request.\n\nCall ['get block reasons'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-blockreasons) to get a list of available actions and block reasons, including their respective identifiers.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetDNSPTrafficSummaryResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficSummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Provides information about DNS Protection traffic counts.",
            "additionalProperties": false
          }
        ]
      },
      "GetDNSPTrafficSummaryResponseModelBase": {
        "type": "object",
        "description": "Provides information about DNS Protection traffic counts.",
        "additionalProperties": false,
        "properties": {
          "StartDate": {
            "type": "string",
            "description": "Start date for returned records. Traffic summary records after (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned records. Traffic summary records before (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "Sites": {
            "type": "array",
            "description": "The list of sites.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPTrafficSummaryResponseModel_Site"
            }
          }
        }
      },
      "GetDNSPTrafficSummaryResponseModel_Site": {
        "type": "object",
        "description": "Provides DNS Protection traffic information for a GSM site.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The site identifier.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The site name.",
            "nullable": true
          },
          "DNSRequests": {
            "type": "integer",
            "description": "The number of requests seen by the DNS Protection service from endpoints associated with the GSM site.",
            "format": "int32"
          },
          "BlockedDNSRequests": {
            "type": "integer",
            "description": "The number of requests blocked by the DNS Protection service.",
            "format": "int32"
          },
          "RiskyDNSRequests": {
            "type": "integer",
            "description": "The number of requests classified as risky by the DNS Protection service.",
            "format": "int32"
          }
        }
      },
      "GetDNSPTrafficSummaryForSiteResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficSummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Provides information about DNS Protection traffic counts for a single site.",
            "additionalProperties": false
          }
        ]
      },
      "GetDNSPTrafficCategorySummaryResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Category summary report for DNSP traffic.",
            "additionalProperties": false
          }
        ]
      },
      "GetDNSPTrafficCategorySummaryResponseModelBase": {
        "type": "object",
        "description": "Base class for the DNSP traffic category summary report.",
        "additionalProperties": false,
        "properties": {
          "StartDate": {
            "type": "string",
            "description": "Start date for returned records. Traffic summary records after (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned records. Traffic summary records before (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "Records": {
            "type": "array",
            "description": "A list of DNSP traffic records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelRecord"
            }
          }
        }
      },
      "GetDNSPTrafficCategorySummaryResponseModelRecord": {
        "type": "object",
        "description": "Provides DNS Protection traffic information for a certain category.",
        "additionalProperties": false,
        "properties": {
          "CategoryId": {
            "type": "integer",
            "description": "The DNS Protection category identifier this record is associated with. \nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available BrightCloud URL categories and their respective identifiers.",
            "format": "int32"
          },
          "DNSRequests": {
            "type": "integer",
            "description": "The number of requests seen by the DNS Protection service from endpoints associated with the GSM site.",
            "format": "int32"
          },
          "AllowedDNSRequests": {
            "type": "integer",
            "description": "The number of requests allowed by the DNS Protection service.",
            "format": "int32"
          },
          "BlockedDNSRequests": {
            "type": "integer",
            "description": "The number of requests blocked by the DNS Protection service.",
            "format": "int32"
          }
        }
      },
      "GetDNSPTrafficCategorySummaryForSiteResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Category summary report for DNSP traffic belonging to a single site.",
            "additionalProperties": false
          }
        ]
      },
      "GetDNSPTrafficCategoryUserSummaryResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Category summary report for DNSP traffic.",
            "additionalProperties": false
          }
        ]
      },
      "GetDNSPTrafficCategoryUserSummaryResponseModelBase": {
        "type": "object",
        "description": "Base class for the DNSP traffic category user summary report.",
        "additionalProperties": false,
        "properties": {
          "StartDate": {
            "type": "string",
            "description": "Start date for returned records. Traffic summary records after (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned records. Traffic summary records before (or at) this date are contained in the response.",
            "format": "date-time"
          },
          "Records": {
            "type": "array",
            "description": "A list of DNSP traffic category summary records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelRecord"
            }
          }
        }
      },
      "GetDNSPTrafficCategoryUserSummaryResponseModelRecord": {
        "type": "object",
        "description": "Provides DNS Protection traffic information with users' name grouped by category.",
        "additionalProperties": false,
        "properties": {
          "CategoryId": {
            "type": "integer",
            "description": "The DNS Protection category identifier this record is associated with. \nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available BrightCloud URL categories and their respective identifiers.",
            "format": "int32"
          },
          "Users": {
            "type": "array",
            "description": "List of users' data with number of requests allowed and blocked by the DNS Protection service for the given category.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelRecordUser"
            }
          }
        }
      },
      "GetDNSPTrafficCategoryUserSummaryResponseModelRecordUser": {
        "type": "object",
        "description": "Provides DNS Protection traffic information with users' name.",
        "additionalProperties": false,
        "properties": {
          "UserName": {
            "type": "string",
            "description": "Name of the user whose DNS requests were allowed/blocked.",
            "nullable": true
          },
          "AllowedDNSRequests": {
            "type": "integer",
            "description": "The number of requests allowed by the DNS Protection service.",
            "format": "int32"
          },
          "BlockedDNSRequests": {
            "type": "integer",
            "description": "The number of requests blocked by the DNS Protection service.",
            "format": "int32"
          }
        }
      },
      "GetDNSPTrafficCategoryUserSummaryForSiteResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelBase"
          },
          {
            "type": "object",
            "description": "Category summary report for DNSP traffic.",
            "additionalProperties": false
          }
        ]
      },
      "GetWSATPhishingActivityResponseModel": {
        "type": "object",
        "description": "Provides information about phishing campaign activities.",
        "additionalProperties": false,
        "properties": {
          "CampaignType": {
            "type": "string",
            "description": "The type of the campaign (i.e. Phishing).",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "Start date for returned user activity information. Campaign activity after (or at) this date is contained in the response.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned user activity information. Campaign activity before (or at) this date is contained in the response.",
            "format": "date-time",
            "nullable": true
          },
          "Campaigns": {
            "type": "array",
            "description": "The list of matching campaigns for which activity was seen within the specified dates.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetWSATPhishingActivityResponseModel_Campaign"
            }
          }
        }
      },
      "GetWSATPhishingActivityResponseModel_Campaign": {
        "type": "object",
        "description": "Provides information about a phishing campaign.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The identifier of the site on which the campaign was created.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The site name.",
            "nullable": true
          },
          "CampaignName": {
            "type": "string",
            "description": "The phishing campaign name.",
            "nullable": true
          },
          "LaunchDate": {
            "type": "string",
            "description": "The date when the campaign was launched.",
            "format": "date-time",
            "nullable": true
          },
          "TotalUsers": {
            "type": "integer",
            "description": "The total number of users who showed activity on the phishing campaign within the specified dates.",
            "format": "int32"
          },
          "TotalClicked": {
            "type": "integer",
            "description": "The total number of users who clicked the phishing link within the specified dates.",
            "format": "int32"
          },
          "TargetUsers": {
            "type": "array",
            "description": "The list of target users who showed activity on this campaign within the specified dates.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetWSATPhishingActivityResponseModel_CampaignTargetUser"
            }
          }
        }
      },
      "GetWSATPhishingActivityResponseModel_CampaignTargetUser": {
        "type": "object",
        "description": "Provides information about a user targeted by a phishing campaign.",
        "additionalProperties": false,
        "properties": {
          "Email": {
            "type": "string",
            "description": "The email address of the user.",
            "nullable": true
          },
          "Clicked": {
            "type": "boolean",
            "description": "Value indicating whether the user clicked on the phishing link."
          }
        }
      },
      "GetWSATTrainingActivityResponseModel": {
        "type": "object",
        "description": "Provides information about training campaign activities.",
        "additionalProperties": false,
        "properties": {
          "CampaignType": {
            "type": "string",
            "description": "The type of the campaign (i.e. Training).",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "Start date for returned user activity information. Campaign activity after (or at) this date is contained in the response.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date for returned user activity information. Campaign activity before (or at) this date is contained in the response.",
            "format": "date-time",
            "nullable": true
          },
          "Campaigns": {
            "type": "array",
            "description": "The list of matching campaigns for which activity was seen within the specified dates.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetWSATTrainingActivityResponseModel_Campaign"
            }
          }
        }
      },
      "GetWSATTrainingActivityResponseModel_Campaign": {
        "type": "object",
        "description": "Provides information about a training campaign.",
        "additionalProperties": false,
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "The identifier of the site on which the campaign was created.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The site name.",
            "nullable": true
          },
          "CampaignName": {
            "type": "string",
            "description": "The training campaign name.",
            "nullable": true
          },
          "LaunchDate": {
            "type": "string",
            "description": "The date when the campaign was launched.",
            "format": "date-time",
            "nullable": true
          },
          "TotalUsers": {
            "type": "integer",
            "description": "The total number of users who showed activity on the training campaign within the specified dates.",
            "format": "int32"
          },
          "TotalComplete": {
            "type": "integer",
            "description": "The total number of users who completed the training within the specified dates.",
            "format": "int32"
          },
          "TargetUsers": {
            "type": "array",
            "description": "The list of target users who showed activity on this campaign within the specified dates.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetWSATTrainingActivityResponseModel_CampaignTargetUser"
            }
          }
        }
      },
      "GetWSATTrainingActivityResponseModel_CampaignTargetUser": {
        "type": "object",
        "description": "Provides information about a user enrolled to a training campaign.",
        "additionalProperties": false,
        "properties": {
          "Email": {
            "type": "string",
            "description": "The email address of the user.",
            "nullable": true
          },
          "Complete": {
            "type": "boolean",
            "description": "Value indicating whether the user completed the training."
          }
        }
      },
      "GetActivityResponseServiceModel": {
        "type": "object",
        "description": "Response model for client activity models.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "Gets or sets the license id the report refers to.",
            "format": "int64"
          },
          "Keycode": {
            "type": "string",
            "description": "Gets or sets the keycode the report refers to.",
            "nullable": true
          },
          "ReportDate": {
            "type": "string",
            "description": "Gets or sets the date of the report.",
            "format": "date-time",
            "nullable": true
          },
          "TotalEndpoints": {
            "type": "integer",
            "description": "Gets or sets the number of endpoints that were active during the 30 day period prior to the report date.",
            "format": "int32",
            "nullable": true
          },
          "BillingDayOfMonth": {
            "type": "integer",
            "description": "Gets or sets the date of the billing.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetLicenseResponseServiceModel": {
        "type": "object",
        "description": "Response model for getting license details.",
        "additionalProperties": false,
        "properties": {
          "License": {
            "description": "The License item.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetLicenseResponseServiceModel_License"
              }
            ]
          }
        }
      },
      "GetLicenseResponseServiceModel_License": {
        "type": "object",
        "description": "The License item.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "The id of the license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode of the license.",
            "nullable": true
          },
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats the license has.",
            "format": "int32"
          },
          "SeatsUsed": {
            "type": "integer",
            "description": "The number of used seats.",
            "format": "int32"
          },
          "StorageGb": {
            "type": "integer",
            "description": "The available storage in GB.",
            "format": "int32"
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiry date of the license.",
            "format": "date-time",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetLicenseResponseServiceModel_Module"
            }
          }
        }
      },
      "GetLicenseResponseServiceModel_Module": {
        "type": "object",
        "description": "The Module item.",
        "additionalProperties": false,
        "properties": {
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this module.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The name of the module.",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "The code of the module.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the module.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the module's license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of the module's license.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "GetChildLicensesResponseServiceModel": {
        "type": "object",
        "description": "Response model for getting a list of child licenses.",
        "additionalProperties": false,
        "properties": {
          "ChildLicenses": {
            "type": "array",
            "description": "The ChildLicenses item list.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetChildLicensesResponseServiceModel_Item"
            }
          }
        }
      },
      "GetChildLicensesResponseServiceModel_Item": {
        "type": "object",
        "description": "The ChildLicenses item.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "The license id of a child license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode of a child license.",
            "nullable": true
          },
          "TotalDevices": {
            "type": "integer",
            "description": "Number of total devices.",
            "format": "int32"
          },
          "Devices": {
            "type": "integer",
            "description": "Number of active devices.",
            "format": "int32"
          },
          "DeactivatedDevices": {
            "type": "integer",
            "description": "Number of deactivated devices.",
            "format": "int32"
          },
          "EffectiveDate": {
            "type": "string",
            "description": "The effective date.",
            "format": "date-time",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.",
            "nullable": true
          },
          "IsTrial": {
            "type": "boolean",
            "description": "Value indicating whether the child license is a trial license."
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetChildLicensesResponseServiceModel_Module"
            }
          }
        }
      },
      "GetChildLicensesResponseServiceModel_Module": {
        "type": "object",
        "description": "The Module item.",
        "additionalProperties": false,
        "properties": {
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this module.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The name of the module.",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "The code of the module.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the module.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the module's license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of the module's license.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CreateLicensesResponseServiceModel": {
        "type": "object",
        "description": "Response model for creating a license.",
        "additionalProperties": false,
        "properties": {
          "Order": {
            "description": "Order element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateLicensesResponseServiceModel_Order"
              }
            ]
          }
        }
      },
      "CreateLicensesResponseServiceModel_Order": {
        "type": "object",
        "description": "Order element.",
        "additionalProperties": false,
        "properties": {
          "VendorOrderCode": {
            "type": "string",
            "description": "The vendor order code to identfy the order.",
            "nullable": true
          },
          "VendorOrderDate": {
            "type": "string",
            "description": "The date when the order was made.",
            "format": "date-time",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The ISO three-letter currency code of the order.",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the order.",
            "format": "float"
          },
          "SubTotalAmount": {
            "type": "number",
            "description": "The subtotal amount.",
            "format": "float"
          },
          "TaxTotal": {
            "type": "number",
            "description": "The total amount of the taxes.",
            "format": "float"
          },
          "Items": {
            "type": "array",
            "description": "The item element list.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateLicensesResponseServiceModel_Item"
            }
          },
          "Customer": {
            "description": "The customer element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateLicensesResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "CreateLicensesResponseServiceModel_Item": {
        "type": "object",
        "description": "The item element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          },
          "LicenseId": {
            "type": "integer",
            "description": "The id of the license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode of the license.",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules allocated with this license (e.g. DNS Protection, WSAT, PLRCS or any other supported category).",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateLicensesResponseServiceModel_Module"
            }
          }
        }
      },
      "CreateLicensesResponseServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          }
        }
      },
      "CreateLicensesResponseServiceModel_Customer": {
        "type": "object",
        "description": "The customer element.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first address.",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second address.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city.",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          }
        }
      },
      "CreateLicensesRequestServiceModel": {
        "type": "object",
        "description": "Request model for creating one or multiple license.",
        "additionalProperties": false,
        "properties": {
          "Order": {
            "description": "Order element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateLicensesRequestServiceModel_Order"
              }
            ]
          }
        }
      },
      "CreateLicensesRequestServiceModel_Order": {
        "type": "object",
        "description": "Order element.",
        "additionalProperties": false,
        "required": [
          "Items",
          "Customers"
        ],
        "properties": {
          "PartnerOrderCode": {
            "type": "string",
            "description": "The partners order code.",
            "nullable": true
          },
          "PartnerOrderDate": {
            "type": "string",
            "description": "The date the order was made. Defaults to the current date.",
            "format": "date-time",
            "nullable": true
          },
          "LanguageCode": {
            "type": "string",
            "description": "The ISO two-letter language code. Defaults to \"en\".",
            "nullable": true
          },
          "LocationCode": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          },
          "PurchaseOrder": {
            "type": "string",
            "description": "The purchase order number.",
            "nullable": true
          },
          "Items": {
            "type": "array",
            "description": "The item element.",
            "items": {
              "$ref": "#/components/schemas/CreateLicensesRequestServiceModel_Item"
            }
          },
          "Customers": {
            "type": "array",
            "description": "The customers list.",
            "items": {
              "$ref": "#/components/schemas/CreateLicensesRequestServiceModel_Customer"
            }
          }
        }
      },
      "CreateLicensesRequestServiceModel_Item": {
        "type": "object",
        "description": "The item element.",
        "additionalProperties": false,
        "required": [
          "PartnerProductId",
          "Quantity",
          "Seats"
        ],
        "properties": {
          "Modules": {
            "type": "array",
            "description": "The modules to allocate with this license (e.g. DNS Protection, WSAT, PLRCS or any other supported category).",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateLicensesRequestServiceModel_Module"
            }
          },
          "PartnerProductId": {
            "type": "string",
            "description": "The product id.",
            "minLength": 1
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats the license should have.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price (a float with exactly 2 digits after the decimal point).",
            "format": "float",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price (a float with exactly 2 digits after the decimal point).",
            "format": "float",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The license start date.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The license expiry date.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CreateLicensesRequestServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "required": [
          "Code",
          "Seats"
        ],
        "properties": {
          "Code": {
            "type": "string",
            "description": "The module code (e.g. \"DNS\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this specific module.",
            "format": "int32"
          }
        }
      },
      "CreateLicensesRequestServiceModel_Customer": {
        "type": "object",
        "description": "The Customer element.\n\n**NOTE:** Some fields for a customer record are conditionally required (see below for more information). However, if a customer record can be resolved by our systems based on previous orders with the provided *ExternalAccountId* and *OrderCompanyTypeId*, the order may still succeed even when not providing the additional customer information.",
        "additionalProperties": false,
        "required": [
          "ExternalAccountId",
          "Country",
          "OrderCompanyTypeId"
        ],
        "properties": {
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer.",
            "minLength": 1
          },
          "FirstName": {
            "type": "string",
            "description": "The first name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first address.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second address.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.\n\nRequired (when *Country* is USA or CAN)",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "minLength": 1
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code.\n\nRequired (when *Country* is USA)",
            "nullable": true
          },
          "OrderCompanyTypeId": {
            "type": "integer",
            "description": "The type of customer: 1 = end account, 3 = reseller partner account.",
            "format": "int32"
          }
        }
      },
      "CreateTrialResponseServiceModel": {
        "type": "object",
        "description": "Response model for creating a trial license.",
        "additionalProperties": false,
        "properties": {
          "License": {
            "description": "The License element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateTrialResponseServiceModel_License"
              }
            ]
          }
        }
      },
      "CreateTrialResponseServiceModel_License": {
        "type": "object",
        "description": "The License element.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "The license id for the created trial license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode for the created trial license.",
            "nullable": true
          },
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer.",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats.",
            "format": "int32"
          },
          "SeatsUsed": {
            "type": "integer",
            "description": "The number of seats used.",
            "format": "int32"
          },
          "StorageGb": {
            "type": "number",
            "description": "The available storage in GB.",
            "format": "float"
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the trial license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiry date of the trial license.",
            "format": "date-time",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection or WSAT) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateTrialResponseServiceModel_Module"
            }
          }
        }
      },
      "CreateTrialResponseServiceModel_Module": {
        "type": "object",
        "description": "The Module item.",
        "additionalProperties": false,
        "properties": {
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this module.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The name of the module.",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "The code of the module.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the module.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the module's license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The end date of the module's license.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CreateTrialRequestServiceModel": {
        "type": "object",
        "description": "Request model for creating a trial license.",
        "additionalProperties": false,
        "required": [
          "PartnerProductId",
          "Seats",
          "Country",
          "ExternalAccountId"
        ],
        "properties": {
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection or WSAT) to allocate with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateTrialRequestServiceModel_Module"
            }
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.\n\nRequired",
            "nullable": true
          },
          "LanguageCode": {
            "type": "string",
            "description": "The ISO two-letter language code.",
            "nullable": true
          },
          "LocationCode": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          },
          "PartnerProductId": {
            "type": "string",
            "description": "The product id.",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats on the trial license.",
            "format": "int32"
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "minLength": 1
          },
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer.",
            "minLength": 1
          }
        }
      },
      "CreateTrialRequestServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "required": [
          "Code",
          "Seats"
        ],
        "properties": {
          "Code": {
            "type": "string",
            "description": "The module code (e.g. \"DNS\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this specific module.",
            "format": "int32"
          }
        }
      },
      "AddTrialModuleResponseServiceModel": {
        "type": "object",
        "description": "Response model for creating a trial module.",
        "additionalProperties": false,
        "properties": {
          "License": {
            "description": "The License element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateTrialModuleResponseServiceModel_License"
              }
            ]
          }
        }
      },
      "CreateTrialModuleResponseServiceModel_License": {
        "type": "object",
        "description": "The License element.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "The license id for the created trial license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode for the created trial license.",
            "nullable": true
          },
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer.",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats.",
            "format": "int32"
          },
          "SeatsUsed": {
            "type": "integer",
            "description": "The number of seats used.",
            "format": "int32"
          },
          "StorageGb": {
            "type": "number",
            "description": "The available storage in GB.",
            "format": "float"
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the trial license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiry date of the trial license.",
            "format": "date-time",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection or WSAT) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateTrialModuleResponseServiceModel_Module"
            }
          }
        }
      },
      "CreateTrialModuleResponseServiceModel_Module": {
        "type": "object",
        "description": "The Module item.",
        "additionalProperties": false,
        "properties": {
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this module.",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "The name of the module.",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "The code of the module.",
            "nullable": true
          },
          "LicenseType": {
            "type": "string",
            "description": "The license type of the module.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the module's license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of the module's license.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "AddTrialModuleRequestServiceModel": {
        "type": "object",
        "description": "Request model for creating a trial module.",
        "additionalProperties": false,
        "required": [
          "Modules"
        ],
        "properties": {
          "Modules": {
            "type": "array",
            "description": "The trial modules (e.g. DNS Protection or WSAT) to allocate with this license.",
            "items": {
              "$ref": "#/components/schemas/CreateTrialModuleRequestServiceModel_Module"
            }
          }
        }
      },
      "CreateTrialModuleRequestServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "required": [
          "Code",
          "Seats"
        ],
        "properties": {
          "Code": {
            "type": "string",
            "description": "The module code (e.g. \"DNS\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this specific module.",
            "format": "int32"
          }
        }
      },
      "UpdateLicenseResponseServiceModel": {
        "type": "object",
        "description": "Response model for updating a license.",
        "additionalProperties": false,
        "properties": {
          "Order": {
            "description": "Order element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UpdateLicenseResponseServiceModel_Order"
              }
            ]
          }
        }
      },
      "UpdateLicenseResponseServiceModel_Order": {
        "type": "object",
        "description": "Order element.",
        "additionalProperties": false,
        "properties": {
          "VendorOrderCode": {
            "type": "string",
            "description": "The vendor order code to identfy the order.",
            "nullable": true
          },
          "VendorOrderDate": {
            "type": "string",
            "description": "The date when the order was made.",
            "format": "date-time",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The ISO three-letter currency code of the order.",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the order.",
            "format": "float"
          },
          "SubTotalAmount": {
            "type": "number",
            "description": "The subtotal amount.",
            "format": "float"
          },
          "TaxTotal": {
            "type": "number",
            "description": "The total amount of the taxes.",
            "format": "float"
          },
          "Items": {
            "type": "array",
            "description": "The item element.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UpdateLicenseResponseServiceModel_Item"
            }
          },
          "Customer": {
            "description": "The customer element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UpdateLicenseResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "UpdateLicenseResponseServiceModel_Item": {
        "type": "object",
        "description": "The item element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          },
          "LicenseId": {
            "type": "integer",
            "description": "The id of the license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode of the license.",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UpdateLicenseResponseServiceModel_Module"
            }
          }
        }
      },
      "UpdateLicenseResponseServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          }
        }
      },
      "UpdateLicenseResponseServiceModel_Customer": {
        "type": "object",
        "description": "The customer element.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first address.",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second address.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city.",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          }
        }
      },
      "UpdateLicenseRequestServiceModel": {
        "type": "object",
        "description": "Request model for updating a license.",
        "additionalProperties": false,
        "properties": {
          "Order": {
            "description": "Order element.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/UpdateLicenseRequestServiceModel_Order"
              }
            ]
          }
        }
      },
      "UpdateLicenseRequestServiceModel_Order": {
        "type": "object",
        "description": "Order element.",
        "additionalProperties": false,
        "required": [
          "Item",
          "Customers"
        ],
        "properties": {
          "PartnerOrderCode": {
            "type": "string",
            "description": "The partners order code.",
            "nullable": true
          },
          "PartnerOrderDate": {
            "type": "string",
            "description": "The date the order was made. Defaults to the current date.",
            "format": "date-time",
            "nullable": true
          },
          "LanguageCode": {
            "type": "string",
            "description": "The ISO two-letter language code. Defaults to \"en\".",
            "nullable": true
          },
          "LocationCode": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          },
          "PurchaseOrder": {
            "type": "string",
            "description": "The purchase order number.",
            "nullable": true
          },
          "Item": {
            "description": "The item element.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/UpdateLicenseRequestServiceModel_Item"
              }
            ]
          },
          "Customers": {
            "type": "array",
            "description": "The customers list.",
            "items": {
              "$ref": "#/components/schemas/UpdateLicenseRequestServiceModel_Customer"
            }
          }
        }
      },
      "UpdateLicenseRequestServiceModel_Item": {
        "type": "object",
        "description": "The item element.",
        "additionalProperties": false,
        "required": [
          "Seats"
        ],
        "properties": {
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) to allocate with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UpdateLicenseRequestServiceModel_Module"
            }
          },
          "PartnerProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats the license should have.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price (a float with exactly 2 digits after the decimal point).",
            "format": "float",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price (a float with exactly 2 digits after the decimal point).",
            "format": "float",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The license start date.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The license expiry date.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "UpdateLicenseRequestServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "required": [
          "Code",
          "Seats"
        ],
        "properties": {
          "Code": {
            "type": "string",
            "description": "The module code (e.g. \"DNS\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).",
            "minLength": 1
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats for this specific module.",
            "format": "int32"
          }
        }
      },
      "UpdateLicenseRequestServiceModel_Customer": {
        "type": "object",
        "description": "The Customer element.\n\n**NOTE:** Some fields for a customer record are conditionally required (see below for more information). However, if a customer record can be resolved by our systems based on previous orders with the provided *ExternalAccountId* and *OrderCompanyTypeId*, the order may still succeed even when not providing the additional customer information.",
        "additionalProperties": false,
        "required": [
          "ExternalAccountId",
          "Country",
          "OrderCompanyTypeId"
        ],
        "properties": {
          "ExternalAccountId": {
            "type": "string",
            "description": "The account number of the customer.",
            "minLength": 1
          },
          "FirstName": {
            "type": "string",
            "description": "The first name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "The phone number.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first address.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second address.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city.\n\nRequired (when ordering business products)",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.\n\nRequired (when *Country* is USA or CAN)",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "minLength": 1
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code.\n\nRequired (when *Country* is USA)",
            "nullable": true
          },
          "OrderCompanyTypeId": {
            "type": "integer",
            "description": "The type of customer: 1 = end account, 3 = reseller partner account.",
            "format": "int32"
          }
        }
      },
      "GetOrderByVendorCodeResponseServiceModel": {
        "type": "object",
        "description": "Response model for getting Orders by vendor order code.",
        "additionalProperties": false,
        "properties": {
          "Order": {
            "description": "The Order item list.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Order"
              }
            ]
          }
        }
      },
      "GetOrderByVendorCodeResponseServiceModel_Order": {
        "type": "object",
        "description": "The order element.",
        "additionalProperties": false,
        "properties": {
          "VendorOrderCode": {
            "type": "string",
            "description": "The vendor order code to identfy the order.",
            "nullable": true
          },
          "VendorOrderDate": {
            "type": "string",
            "description": "The date when the order was made.",
            "format": "date-time",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The ISO three-letter currency code of the order.",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the order.",
            "format": "float"
          },
          "SubTotalAmount": {
            "type": "number",
            "description": "The subtotal amount.",
            "format": "float"
          },
          "TaxTotal": {
            "type": "number",
            "description": "The total amount of the taxes.",
            "format": "float"
          },
          "Items": {
            "type": "array",
            "description": "The Items list.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Item"
            }
          },
          "Customer": {
            "description": "The customer details.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "GetOrderByVendorCodeResponseServiceModel_Item": {
        "type": "object",
        "description": "The Item element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          },
          "LicenseId": {
            "type": "integer",
            "description": "The id of the license.",
            "format": "int32"
          },
          "Keycode": {
            "type": "string",
            "description": "The keycode of the license.",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Module"
            }
          }
        }
      },
      "GetOrderByVendorCodeResponseServiceModel_Module": {
        "type": "object",
        "description": "The module element.",
        "additionalProperties": false,
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "The product id.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The number of licenses.",
            "format": "int32"
          },
          "Seats": {
            "type": "integer",
            "description": "The number of seats per license.",
            "format": "int32"
          },
          "Years": {
            "type": "integer",
            "description": "The number of years the license is valid.",
            "format": "int32"
          },
          "ListPrice": {
            "type": "number",
            "description": "The list price.",
            "format": "float"
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price.",
            "format": "float"
          }
        }
      },
      "GetOrderByVendorCodeResponseServiceModel_Customer": {
        "type": "object",
        "description": "The customer element.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name.",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first address.",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second address.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city.",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO three-letter country code.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code.",
            "nullable": true
          }
        }
      },
      "CreateCartResponseServiceModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CartResponseServiceModel"
          },
          {
            "type": "object",
            "description": "Response model for creating carts.",
            "additionalProperties": false
          }
        ]
      },
      "CartResponseServiceModel": {
        "type": "object",
        "description": "Base response class for cart services.",
        "additionalProperties": false,
        "properties": {
          "VendorOrderCode": {
            "type": "string",
            "description": "An identifier of the order.",
            "nullable": true
          },
          "CartOrderStatusId": {
            "type": "integer",
            "description": "The status identifier of the cart order (1,2,3).",
            "format": "int32",
            "nullable": true
          },
          "TypeOfOrder": {
            "type": "string",
            "description": "The type of cart order placed (\"RESELLER\", \"MSP\").",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the cart order.",
            "format": "float",
            "nullable": true
          },
          "TotalAmountFmt": {
            "type": "string",
            "description": "The format of the *TotalAmount* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "SubTotalAmount": {
            "type": "number",
            "description": "The sub total amount of the cart order.",
            "format": "float",
            "nullable": true
          },
          "SubTotalAmountFmt": {
            "type": "string",
            "description": "The format of the *SubTotalAmount* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "TaxAmount": {
            "type": "number",
            "description": "The tax amount of the cart order.",
            "format": "float",
            "nullable": true
          },
          "TaxAmountFmt": {
            "type": "string",
            "description": "The format of the *TaxAmount* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "Locale": {
            "type": "string",
            "description": "The language and territory used as the locale setting for the order (e.g. \"en\\_US\").",
            "nullable": true
          },
          "SalesOrderDate": {
            "type": "string",
            "description": "The date when the sale was processed.",
            "format": "date-time",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The ISO three-letter currency code of the order (e.g. \"USD\").",
            "nullable": true
          },
          "Items": {
            "type": "array",
            "description": "The items contained in this cart.",
            "nullable": true,
            "items": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CartResponseServiceModel_CartItem"
              }
            }
          },
          "Customers": {
            "description": "The customers associated to this cart.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomers"
              }
            ]
          }
        }
      },
      "CartResponseServiceModel_CartItem": {
        "type": "object",
        "description": "A single item associated to a cart.",
        "additionalProperties": false,
        "properties": {
          "CartOrderItemId": {
            "type": "integer",
            "description": "Sequence number of this cart item.",
            "format": "int32",
            "nullable": true
          },
          "LineItem": {
            "type": "integer",
            "description": "Line identifier associated to this cart item.",
            "format": "int32",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "Count of this cart item.",
            "format": "int32",
            "nullable": true
          },
          "Years": {
            "type": "string",
            "description": "The number of years the license is valid. \nPossible values are: 0, 0.083, 0.167, 0.5, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 3.25, 3.5.",
            "nullable": true
          },
          "ListPrice": {
            "type": "number",
            "description": "The price of this cart item.",
            "format": "float",
            "nullable": true
          },
          "ListPriceFmt": {
            "type": "string",
            "description": "The format of the *ListPrice* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price of this cart item.",
            "format": "float",
            "nullable": true
          },
          "UnitPriceFmt": {
            "type": "string",
            "description": "The format of the *UnitPrice* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "SubTotalAmount": {
            "type": "number",
            "description": "The sub total amount of this cart item.",
            "format": "float",
            "nullable": true
          },
          "SubTotalAmountFmt": {
            "type": "string",
            "description": "The format of the *SubTotalAmount* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "SubTotalListAmount": {
            "type": "number",
            "description": "The sub total list amount of this cart item.",
            "format": "float",
            "nullable": true
          },
          "SubTotalListAmountFmt": {
            "type": "string",
            "description": "The format of the *SubTotalListAmount* field (e.g. \"$0.00\").",
            "nullable": true
          },
          "ProductId": {
            "type": "integer",
            "description": "The product type identifier.",
            "format": "int32",
            "nullable": true
          },
          "ProductDescription": {
            "type": "string",
            "description": "A description of this product.",
            "nullable": true
          },
          "ProductTypeId": {
            "type": "integer",
            "description": "The product type identifier. \nPossible values are: New, Renewal, Upgrade.",
            "format": "int32",
            "nullable": true
          },
          "ProductTypeDescription": {
            "type": "string",
            "description": "A description of the product type.",
            "nullable": true
          },
          "LicenseKeycodeTypeId": {
            "type": "integer",
            "description": "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license.",
            "format": "int32",
            "nullable": true
          },
          "LicenseCategoryName": {
            "type": "string",
            "description": "License category associated to this item.",
            "nullable": true
          },
          "LicenseCategoryDescription": {
            "type": "string",
            "description": "A description of the license.",
            "nullable": true
          },
          "ProductFamilyDescription": {
            "type": "string",
            "description": "A description of the product family.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date associated to this license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of this license.",
            "format": "date-time",
            "nullable": true
          },
          "CartItemBundleId": {
            "type": "integer",
            "description": "The bundle identifier for this cart item.",
            "format": "int32",
            "nullable": true
          },
          "ItemHierarchyId": {
            "type": "integer",
            "description": "An identifier specifying whether this cart item is a primary or a secondary product. Secondary products have an *ItemHierarchyId* of 2, and represent products dependent on a primary product. Examples include SDNS, SECA (WSAT), OTEDR and OTMDR products provisioned as part of an item whose primary product is SAEP.",
            "format": "int32",
            "nullable": true
          },
          "DependentCartOrderItemId": {
            "type": "integer",
            "description": "If present, indicates that the state of this line item depends on the state of another, and therefore should not be modified directly. Essentially, this indicates that the line item is read-only. For example, in the case of an renewal and upgrade, the upgrade line item depends on the state of the renewal line. If the license seats of the renewal line change, the license seats of the upgrade line change inversely.",
            "format": "int32",
            "nullable": true
          },
          "Keycode": {
            "type": "string",
            "description": "Keycode associated to this cart item.",
            "nullable": true
          },
          "LicenseAttributeValue": {
            "type": "integer",
            "description": "A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for \"Reseller Monthly Sold\".",
            "format": "int32",
            "nullable": true
          },
          "LicenseAttributeValueDescription": {
            "type": "string",
            "description": "A description of the license attribute value assigned to this item.",
            "nullable": true
          },
          "UsagePricingModelId": {
            "type": "integer",
            "description": "A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.",
            "format": "int32",
            "nullable": true
          },
          "UsagePricingModelName": {
            "type": "string",
            "description": "The name of the usage pricing model as defined by *UsagePricingModelId*.",
            "nullable": true
          },
          "VendorOrderItemCode": {
            "type": "string",
            "description": "The vendor specific order item code.",
            "nullable": true
          },
          "OrderItemUpdateTypeId": {
            "type": "integer",
            "description": "The update type identifier for this item.",
            "format": "int32",
            "nullable": true
          },
          "LicenseProfile": {
            "type": "object",
            "description": "The license profile associated to this item.",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/CartResponseServiceModel_LicenseProfile"
            }
          },
          "LicenseSeats": {
            "type": "integer",
            "description": "The number of license seats associated to this cart item.",
            "format": "int32",
            "nullable": true
          },
          "VaultId": {
            "type": "integer",
            "description": "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH",
            "format": "int32",
            "nullable": true
          },
          "VaultName": {
            "type": "string",
            "description": "The name of the datacenter vault associated with *VaultId*.",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformName": {
            "type": "string",
            "description": "A textual representation of *ProductPlatformId*.",
            "nullable": true
          },
          "RetentionModelId": {
            "type": "integer",
            "description": "Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).",
            "format": "int32",
            "nullable": true
          },
          "RetentionModelName": {
            "type": "string",
            "description": "A textual representation of *RetentionModelId*.",
            "nullable": true
          },
          "ProductPricingLevelId": {
            "type": "integer",
            "description": "Pricing level used for this item.",
            "format": "int32",
            "nullable": true
          },
          "ProductPricingLevelDescription": {
            "type": "string",
            "description": "A textual representation of the *ProductPricingLevelId* field.",
            "nullable": true
          }
        }
      },
      "CartResponseServiceModel_LicenseProfile": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseServiceModel_LicenseProfile"
          },
          {
            "type": "object",
            "description": "License information for a cart item.",
            "additionalProperties": false
          }
        ]
      },
      "ResponseServiceModel_LicenseProfile": {
        "type": "object",
        "description": "Response model for licenses.",
        "additionalProperties": false,
        "properties": {
          "LicenseCategoryName": {
            "type": "string",
            "description": "The category name of this license.",
            "nullable": true
          },
          "LicenseCategoryDescription": {
            "type": "string",
            "description": "A description of this license category.",
            "nullable": true
          },
          "LicenseSeats": {
            "type": "integer",
            "description": "The number of seats associated to this license.",
            "format": "int32",
            "nullable": true
          },
          "LicenseKeycodeTypeId": {
            "type": "integer",
            "description": "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license.",
            "format": "int32",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date associated to this license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of this license.",
            "format": "date-time",
            "nullable": true
          },
          "LicenseAttributeValue": {
            "type": "integer",
            "description": "A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for \"Reseller Monthly Sold\".",
            "format": "int32",
            "nullable": true
          },
          "LicenseAttributeValueDescription": {
            "type": "string",
            "description": "A description of this LicenseAttributeValue.",
            "nullable": true
          },
          "LicenseAttributeDescription": {
            "type": "string",
            "description": "A description of this license attribute.",
            "nullable": true
          },
          "CategoryTypeName": {
            "type": "string",
            "description": "The type of this category. \nPossible values are: trial, full.",
            "nullable": true
          },
          "ItemHierarchyId": {
            "type": "integer",
            "description": "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.",
            "format": "int32",
            "nullable": true
          },
          "ItemHierarchyName": {
            "type": "string",
            "description": "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary.",
            "nullable": true
          },
          "LicenseStatusId": {
            "type": "integer",
            "description": "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled.",
            "format": "int32",
            "nullable": true
          },
          "LicenseStatusDescription": {
            "type": "string",
            "description": "A description for the LicenseStatusId field.",
            "nullable": true
          },
          "UsagePricingModelId": {
            "type": "integer",
            "description": "A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.",
            "format": "int32",
            "nullable": true
          },
          "UsagePricingModelName": {
            "type": "string",
            "description": "The name of the usage pricing model as defined by *UsagePricingModelId*.",
            "nullable": true
          },
          "UsageCheckDay": {
            "type": "integer",
            "description": "The day of the month at which usage numbers are processed for this item.",
            "format": "int32",
            "nullable": true
          },
          "VaultId": {
            "type": "integer",
            "description": "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH\n\n\n**Note:** This value has been superseded by the *Vaults* list and represents the id of the first vault in the list (if such an entry is available).",
            "format": "int32",
            "nullable": true
          },
          "VaultName": {
            "type": "string",
            "description": "The name of the datacenter vault associated with *VaultId*. \n**Note:** This value has been superseded by the *Vaults* list and represents the data center name of the first vault in the list (if such an entry is available).",
            "nullable": true
          },
          "Vaults": {
            "type": "array",
            "description": "A list of data centers used for this item (applicable to backup licenses only).",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ResponseServiceModel_LicenseProfile_Vault"
            }
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformName": {
            "type": "string",
            "description": "A textual representation of *ProductPlatformId*.",
            "nullable": true
          },
          "RetentionModelId": {
            "type": "integer",
            "description": "Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).",
            "format": "int32",
            "nullable": true
          },
          "RetentionModelName": {
            "type": "string",
            "description": "A textual representation of *RetentionModelId*.",
            "nullable": true
          }
        }
      },
      "ResponseServiceModel_LicenseProfile_Vault": {
        "type": "object",
        "description": "Information about the data center which is used for a certain license.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "The name of the vault (e.g. \"FR\").",
            "nullable": true
          },
          "Id": {
            "type": "integer",
            "description": "The id of the vault.",
            "format": "int32",
            "nullable": true
          },
          "DataCenterName": {
            "type": "string",
            "description": "The name of the data center (e.g. \"France Central (Paris)\").",
            "nullable": true
          },
          "LicenseCategoryName": {
            "type": "string",
            "description": "The category name of this license.",
            "nullable": true
          }
        }
      },
      "CartResponseServiceModel_CartCustomers": {
        "type": "object",
        "description": "Customers associated to a cart.",
        "additionalProperties": false,
        "properties": {
          "Billing": {
            "description": "The billing customer associated to a cart. It is set up when the cart is created and cannot be modified later on.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
              }
            ]
          },
          "Shipping": {
            "description": "End customer specific information.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
              }
            ]
          },
          "Reseller": {
            "description": "Reseller customer specific information. Is only listed if *TypeOfOrder* is \"RESELLER\".",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
              }
            ]
          }
        }
      },
      "CartResponseServiceModel_CartCustomer": {
        "type": "object",
        "description": "A customer associated to a cart.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name of the customer.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name of the customer.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "Address line.",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "Address line 2.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city where the customer is located.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code of the customer's location.",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The state code of the customer's location.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The country code of the customer's location.",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address of the customer.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The name of the customer's company.",
            "nullable": true
          },
          "ExternalCustomerKey": {
            "type": "string",
            "description": "The client's identifier for the customer.",
            "nullable": true
          },
          "VatId": {
            "type": "string",
            "description": "The VAT ID of the customer.",
            "nullable": true
          },
          "CustomerTypeId": {
            "type": "integer",
            "description": "The customer type ID.",
            "format": "int32",
            "nullable": true
          },
          "CustomerTypeDescription": {
            "type": "string",
            "description": "The description of the customer type.",
            "nullable": true
          },
          "OptIn": {
            "type": "boolean",
            "description": "Value indicating whether the customer is set to receive marketing and promotional e-mail communication from Webroot or OpenText.",
            "nullable": true
          }
        }
      },
      "CreateCartRequestServiceModel": {
        "type": "object",
        "description": "Request model for creating carts.\n\n**Note:** At least one item must be specified in either the *ItemsByLicenseKey* or the *ItemsByAttributes* collection.",
        "additionalProperties": false,
        "required": [
          "TypeOfOrder",
          "Locale"
        ],
        "properties": {
          "TypeOfOrder": {
            "type": "string",
            "description": "The type of order to be placed (\"RESELLER\", \"MSP\").",
            "minLength": 1
          },
          "Locale": {
            "type": "string",
            "description": "The language and territory to use as the locale setting for the order. The format of the locale must be the ISO two-letter language code (lowercase) and the ISO two-letter country code (UPPERCASE), concatenated with an underscore ('\\_') character. E.g. en\\_US, ja\\_JP. \nThe locales that can be used are defined by the partner account configuration. Please reach out to your Webroot e-commerce business partner to identify valid locales for your orders.",
            "minLength": 1
          },
          "ItemsByLicenseKey": {
            "type": "array",
            "description": "Items to be added to the cart based on license keys.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateCartRequestServiceModel_ItemByLicenseKey"
            }
          },
          "ItemsByAttributes": {
            "type": "array",
            "description": "Items to be added to the cart based on attributes.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateCartRequestServiceModel_ItemByAttributes"
            }
          }
        }
      },
      "CreateCartRequestServiceModel_ItemByLicenseKey": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCartRequestServiceModel_Item"
          },
          {
            "type": "object",
            "description": "Element for cart items based on license keys.\n\n**NOTE:** Each partner account configuration can have different products set up (e.g. WIFI product for 1 year with 10 seats), which restrict the values that can be specified for the *LicenseCategoryName*, *LicenseSeats*, and *Years* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.",
            "additionalProperties": false,
            "required": [
              "Keycode"
            ],
            "properties": {
              "LicenseSeats": {
                "type": "integer",
                "description": "The number of seats the license should have.",
                "format": "int32",
                "nullable": true
              },
              "LicenseCategoryName": {
                "type": "string",
                "description": "License category associated to this item. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, PLRP, CALLY, OSBPB.",
                "nullable": true
              },
              "Keycode": {
                "type": "string",
                "description": "The license key with which to create either a renewal or an upgrade item.",
                "minLength": 1
              }
            }
          }
        ]
      },
      "CreateCartRequestServiceModel_Item": {
        "type": "object",
        "description": "Base class for items in CreateCartRequestServiceModel.",
        "additionalProperties": false,
        "required": [
          "Years"
        ],
        "properties": {
          "Years": {
            "type": "string",
            "description": "The number of years the license should be valid. \nPossible values are: 0, 0.083, 0.167, 0.5, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 3.25, 3.5.",
            "minLength": 1
          },
          "LicenseKeycodeTypeId": {
            "type": "integer",
            "description": "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license. If not specified, a default of 1 is assumed.",
            "format": "int32",
            "nullable": true
          },
          "ItemHierarchyId": {
            "type": "integer",
            "description": "An identifier specifying whether the cart item is a primary or secondary product. Secondary products have an *ItemHierarchyId* of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP. \nNote that the *ItemHierarchyId* field cannot be used without a *CartItemBundleId*.\nIf not specified, a default of 1 is assumed.",
            "format": "int32",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of this license. Although *Years* is a required input for the cart item, it is possible to define a custom expiration date by using this parameter. Specifying a custom expiration date needs to be enabled on your partner account. Please contact your Webroot representative, if you require this functionality.",
            "format": "date-time",
            "nullable": true
          },
          "VendorOrderItemCode": {
            "type": "string",
            "description": "The vendor specific order item code.",
            "nullable": true
          },
          "CartItemBundleId": {
            "type": "integer",
            "description": "The bundle identifier for this item. Defines whether the items specified in the cart belong to the same license/keycode. If multiple items are associated with the same bundle, only one of them can have an *ItemHierarchyId* of 1.",
            "format": "int32",
            "nullable": true
          },
          "LicenseAttributeValue": {
            "type": "integer",
            "description": "A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for \"Reseller Monthly Sold\". Please note that the exact values you can use are determined by your contract with Webroot.",
            "format": "int32",
            "nullable": true
          },
          "UsagePricingModelId": {
            "type": "integer",
            "description": "A value which indicates how usage will be calculated for this item. Only applicable to certain license categories like OTSF (1 = Advanced, 2 = Capacity) and CBEP (1 = Advanced, 3 = Standard). If not specified, a default is assumed. Please speak with your Webroot e-commerce business partner for defaults/values specific to your contract.",
            "format": "int32",
            "nullable": true
          },
          "VaultId": {
            "type": "integer",
            "description": "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).",
            "format": "int32",
            "nullable": true
          },
          "RetentionModelId": {
            "type": "integer",
            "description": "Number of years data is retained (applicable to OTSF only). Legitimate values are 1 (for one year) or 2 (for seven years). Default is 1.",
            "format": "int32",
            "nullable": true
          },
          "ProductPricingLevelId": {
            "type": "integer",
            "description": "Pricing level to use for this item (1 = Standard, 2 = EDU/Non Profit, 3 = Government). Only valid for resellers (not for MSP orders). Partners who are not configured will get a 'no pricing found' message.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CreateCartRequestServiceModel_ItemByAttributes": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateCartRequestServiceModel_Item"
          },
          {
            "type": "object",
            "description": "Element for cart items based on attributes.\n\n**NOTE:** Each partner account configuration can have different products set up (e.g. WIFI product for 1 year with 10 seats), which restrict the values that can be specified for the *LicenseCategoryName*, *LicenseSeats*, and *Years* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.",
            "additionalProperties": false,
            "required": [
              "LicenseSeats",
              "LicenseCategoryName"
            ],
            "properties": {
              "LicenseSeats": {
                "type": "integer",
                "description": "The number of seats the license should have.",
                "format": "int32"
              },
              "LicenseCategoryName": {
                "type": "string",
                "description": "License category associated to this item. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, PLRP, CALLY, OSBPB.",
                "minLength": 1
              }
            }
          }
        ]
      },
      "GetCartResponseServiceModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CartResponseServiceModel"
          },
          {
            "type": "object",
            "description": "Response model for getting carts.",
            "additionalProperties": false
          }
        ]
      },
      "AddCustomersToCartResponseServiceModel": {
        "type": "object",
        "description": "Response model for associating a customer to a cart.",
        "additionalProperties": false,
        "properties": {
          "Billing": {
            "description": "Customer record for the billing entity",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddCustomersToCartResponseServiceModel_Customer"
              }
            ]
          },
          "Reseller": {
            "description": "Customer record for the reseller (if any)",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddCustomersToCartResponseServiceModel_Customer"
              }
            ]
          },
          "Shipping": {
            "description": "Customer record designating the shipping entity",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddCustomersToCartResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "AddCustomersToCartResponseServiceModel_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
          },
          {
            "type": "object",
            "description": "The customer record",
            "additionalProperties": false
          }
        ]
      },
      "AddCustomersToCartRequestServiceModel": {
        "type": "object",
        "description": "Request model for associating a customer to a cart.",
        "additionalProperties": false,
        "required": [
          "Shipping"
        ],
        "properties": {
          "Reseller": {
            "description": "Customer record for the reseller (required only for 'reseller' type cart, ignored otherwise)",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddCustomersToCartRequestServiceModel_Customer"
              }
            ]
          },
          "Shipping": {
            "description": "Customer record to be added",
            "oneOf": [
              {
                "$ref": "#/components/schemas/AddCustomersToCartRequestServiceModel_Customer"
              }
            ]
          }
        }
      },
      "AddCustomersToCartRequestServiceModel_Customer": {
        "type": "object",
        "description": "The customer record",
        "additionalProperties": false,
        "required": [
          "Country",
          "ExternalCustomerKey"
        ],
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "The first name of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "Address line.\n\nRequired (for business products)",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "Address line.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.\n\nRequired (for business products and certain countries like US, CA, AU, NZ, ZA)",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO two-letter code for the country.",
            "minLength": 1
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The name of the customer's company.\n\nRequired (for business products)",
            "nullable": true
          },
          "CompanyTypeId": {
            "type": "integer",
            "description": "The company type id. \nPossible values are: 1 = Distributor, 2 = Reseller, 3 = MSP, 11 = MSP/Reseller Hybrid, 14 = Business.\n\nRequired (for business products)",
            "format": "int32"
          },
          "ExternalCustomerKey": {
            "type": "string",
            "description": "The client's identifier for the customer.",
            "minLength": 1
          },
          "OptIn": {
            "type": "boolean",
            "description": "Value indicating whether the customer may receive marketing and promotional e-mail communication from Webroot or OpenText. If the value is not provided or null, *OptIn* will default to true.",
            "nullable": true
          }
        }
      },
      "GetCustomersOfCartResponseServiceModel": {
        "type": "object",
        "description": "Response model for customers associated to a cart.",
        "additionalProperties": false,
        "properties": {
          "Billing": {
            "description": "Customer record for the billing entity",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer"
              }
            ]
          },
          "Reseller": {
            "description": "Customer record for the reseller (if any)",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer"
              }
            ]
          },
          "Shipping": {
            "description": "Customer record designating the shipping entity",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "GetCustomersOfCartResponseServiceModel_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
          },
          {
            "type": "object",
            "description": "The customer record",
            "additionalProperties": false
          }
        ]
      },
      "CreateOrderResponseServiceModel": {
        "type": "object",
        "description": "Response model for creating an order",
        "additionalProperties": false,
        "properties": {
          "VendorOrderDate": {
            "type": "string",
            "description": "The Date when the order was created.",
            "format": "date-time",
            "nullable": true
          },
          "Locale": {
            "type": "string",
            "description": "The language and territory used as the locale setting for the order (e.g. \"en\\_US\").",
            "nullable": true
          },
          "TypeOfOrder": {
            "type": "string",
            "description": "The type of order to be placed. The market for the order. \nPossible values are: RESELLER, MSP.",
            "nullable": true
          },
          "VendorOrderCode": {
            "type": "string",
            "description": "Identifier of the order",
            "nullable": true
          },
          "OrderHeaderToken": {
            "type": "string",
            "description": "A randomly generated GUID acting as a pointer to the order. This may be passed in URL as an unguessable order identifier.",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The ISO three-letter curreny code of the order (e.g. \"USD\").",
            "nullable": true
          },
          "PaymentHeader": {
            "description": "The payment header for the order.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateOrderResponseServiceModel_PaymentHeader"
              }
            ]
          },
          "Items": {
            "type": "array",
            "description": "The list of items included in the order",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateOrderResponseServiceModel_OrderItem"
            }
          },
          "Customers": {
            "description": "Customer records associated with the order",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateOrderResponseServiceModel_Customers"
              }
            ]
          }
        }
      },
      "CreateOrderResponseServiceModel_PaymentHeader": {
        "type": "object",
        "description": "The payment header included in an order",
        "additionalProperties": false,
        "properties": {
          "PaymentStatusName": {
            "type": "string",
            "description": "The payment status of the order",
            "nullable": true
          },
          "PaymentMethodName": {
            "type": "string",
            "description": "The payment method of the order",
            "nullable": true
          }
        }
      },
      "CreateOrderResponseServiceModel_OrderItem": {
        "type": "object",
        "description": "An item included in an order",
        "additionalProperties": false,
        "properties": {
          "LicenseCategoryName": {
            "type": "string",
            "description": "The identifier for a particular product on a license. In the majority of cases, one license has one category. In the case of GSM and Pillr licenses, a license may have one primary category and many secondary categories (e.g. SECA, SDNS, PLRCS).",
            "nullable": true
          },
          "LicenseKeycodeTypeId": {
            "type": "string",
            "description": "An identifier of the keycode type of a license. \nPossible values are: 1 = standard license, 3 = parent license.",
            "nullable": true
          },
          "Seats": {
            "type": "integer",
            "description": "The number of licensed seats",
            "format": "int32",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "The ordered quantity",
            "format": "int32",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "The unit price of the item",
            "format": "float",
            "nullable": true
          },
          "ItemHierarchyId": {
            "type": "integer",
            "description": "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.",
            "format": "int32",
            "nullable": true
          },
          "ItemBundleId": {
            "type": "integer",
            "description": "The bundle identifier for this order item.",
            "format": "int32",
            "nullable": true
          },
          "KeyCode": {
            "type": "string",
            "description": "Key code associated with the item",
            "nullable": true
          },
          "ProductDescription": {
            "type": "string",
            "description": "Description of the ordered product",
            "nullable": true
          },
          "ProductTypeDescription": {
            "type": "string",
            "description": "Type of the ordered product",
            "nullable": true
          },
          "LicenseAttributeValue": {
            "type": "integer",
            "description": "A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for \"Reseller Monthly Sold\".",
            "format": "int32",
            "nullable": true
          },
          "LicenseAttributeValueDescription": {
            "type": "string",
            "description": "A description of the license attribute value assigned to this item.",
            "nullable": true
          },
          "LicenseAttributeDescription": {
            "type": "string",
            "description": "A description of this license attribute.",
            "nullable": true
          },
          "UsagePricingModelId": {
            "type": "integer",
            "description": "A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.",
            "format": "int32",
            "nullable": true
          },
          "UsagePricingModelName": {
            "type": "string",
            "description": "The name of the usage pricing model as defined by *UsagePricingModelId*.",
            "nullable": true
          },
          "VaultId": {
            "type": "integer",
            "description": "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH",
            "format": "int32",
            "nullable": true
          },
          "VaultName": {
            "type": "string",
            "description": "The name of the datacenter vault associated with *VaultId*.",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformName": {
            "type": "string",
            "description": "A textual representation of *ProductPlatformId*.",
            "nullable": true
          },
          "RetentionModelId": {
            "type": "integer",
            "description": "Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).",
            "format": "int32",
            "nullable": true
          },
          "RetentionModelName": {
            "type": "string",
            "description": "A textual representation of *RetentionModelId*.",
            "nullable": true
          },
          "ProductPricingLevelId": {
            "type": "integer",
            "description": "Pricing level used for this item.",
            "format": "int32",
            "nullable": true
          },
          "ProductPricingLevelDescription": {
            "type": "string",
            "description": "A textual representation of the *ProductPricingLevelId* field.",
            "nullable": true
          },
          "CustomAttribute": {
            "type": "string",
            "description": "Custom value which may be set by ECom depending on the use case.",
            "nullable": true
          }
        }
      },
      "CreateOrderResponseServiceModel_Customers": {
        "type": "object",
        "description": "Customer records associated with the order",
        "additionalProperties": false,
        "properties": {
          "Billing": {
            "description": "Customer record used for billing",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateOrderResponseServiceModel_Customer"
              }
            ]
          },
          "Shipping": {
            "description": "Customer record used for shipping",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateOrderResponseServiceModel_Customer"
              }
            ]
          },
          "Reseller": {
            "description": "Reseller customer record",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateOrderResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "CreateOrderResponseServiceModel_Customer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CartResponseServiceModel_CartCustomer"
          },
          {
            "type": "object",
            "description": "Customer record associated with an order",
            "additionalProperties": false,
            "properties": {
              "CustomerId": {
                "type": "integer",
                "description": "The customer id",
                "format": "int32",
                "nullable": true
              },
              "PhoneNumber": {
                "type": "string",
                "description": "The phone number of the customer",
                "nullable": true
              }
            }
          }
        ]
      },
      "CreateOrderRequestServiceModel": {
        "type": "object",
        "description": "Request model for creating an order.",
        "additionalProperties": false,
        "required": [
          "VendorOrderCode",
          "PaymentMethod"
        ],
        "properties": {
          "VendorOrderCode": {
            "type": "string",
            "description": "Identifier of the cart to be converted into an order.",
            "minLength": 1
          },
          "PaymentMethod": {
            "type": "string",
            "description": "The payment method for the order. \nPossible values are: PurchaseOrder.",
            "minLength": 1
          },
          "PurchaseOrder": {
            "type": "string",
            "description": "The purchase order number created by the caller.\n\nRequired (when *PaymentMethod* is 'PurchaseOrder').",
            "nullable": true
          },
          "LicenseDistributionMethodCode": {
            "type": "string",
            "description": "Distribution method to use for this order. \nNote: This property is only applicable, if the e-commerce partner account is set up to support multiple distribution methods. If this is the case and a value for *LicenseDistributionMethodCode* is not provided, the partner's default distribution method will be used.",
            "nullable": true
          }
        }
      },
      "GetOrderStatusResponseServiceModel": {
        "type": "object",
        "description": "Provides information about the status of a product order.",
        "additionalProperties": false,
        "properties": {
          "OrderStatus": {
            "type": "array",
            "description": "List of status information records for each order associated with a keycode.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetOrderStatusResponseServiceModelOrderStatus"
            }
          }
        }
      },
      "GetOrderStatusResponseServiceModelOrderStatus": {
        "type": "object",
        "description": "Order status information for an order associated with a keycode.",
        "additionalProperties": false,
        "properties": {
          "Keycode": {
            "type": "string",
            "description": "The keycode identifying the product license.",
            "nullable": true
          },
          "VendorOrderCode": {
            "type": "string",
            "description": "The vendor order code identifying the order executed on the keycode.",
            "nullable": true
          },
          "ExceptionStatus": {
            "type": "string",
            "description": "Information whether any exceptions have arisen during the order fulfillment process which may delay the ability to interact and use the ordered or updated license. \nMost common values are:\n\n- *null*  ... No exceptions have occurred and the order was processed successfully.\n- \"pending\"  ... The resolution of an order exception is still pending.\n- \"resolved\"  ... The order exception has been resolved.\n- \"abandon\"  ... The resolution of an order exception led to abandoning the order.\n\nIf other values than those described above are encountered, please contact your Webroot eCommerce representative for further information. ",
            "nullable": true
          },
          "PartnerLicenseStatus": {
            "type": "string",
            "description": "Status of whether an order requires/required resolution with regard to partner licenses or billing entities. \nMost common values are:\n\n- *null*  ... No resolution was necessary or applicable.\n- \"pending\"  ... The license resolution is still pending.\n- \"approved\"  ... The order on the license has been approved.\n- \"declined\"  ... The order on the license has been declined.\n- \"archived\"  ... The license resolution was archived/superseded.\n\nIf other values than those described above are encountered, please contact your Webroot eCommerce representative for further information. ",
            "nullable": true
          }
        }
      },
      "CreateProductCancellationResponseServiceModel": {
        "type": "object",
        "description": "Response model for cancelling a particular product.",
        "additionalProperties": false,
        "properties": {
          "LicenseServiceId": {
            "type": "integer",
            "description": "The license service ID",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetProductLicenseResponseServiceModel": {
        "type": "object",
        "description": "Response model for GetProductLicense.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "A unique identifier for the license that was queried.",
            "format": "int32",
            "nullable": true
          },
          "Keycode": {
            "type": "string",
            "description": "Keycode identifying the license.",
            "nullable": true
          },
          "ProductLineDescription": {
            "type": "string",
            "description": "Description of the associated product line.",
            "nullable": true
          },
          "ParentLicenseId": {
            "type": "integer",
            "description": "Unique identifier for the parent license.",
            "format": "int32",
            "nullable": true
          },
          "ParentKeycode": {
            "type": "string",
            "description": "The keycode for the parent license.",
            "nullable": true
          },
          "ChildLicenseActivations": {
            "type": "integer",
            "description": "Number of activations in child licenses.",
            "format": "int32",
            "nullable": true
          },
          "PartnerStartDate": {
            "type": "string",
            "description": "Start date of the partner.",
            "format": "date-time",
            "nullable": true
          },
          "CustomAttribute": {
            "type": "string",
            "description": "Custom value which may be set by eCom depending on the use case.",
            "nullable": true
          },
          "Profile": {
            "type": "object",
            "description": "A dictionary of profiles.",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/GetProductLicenseResponseServiceModel_LicenseProfile"
            }
          },
          "Customer": {
            "description": "The customer associated to this license.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetProductLicenseResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "GetProductLicenseResponseServiceModel_LicenseProfile": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseServiceModel_LicenseProfile"
          },
          {
            "type": "object",
            "description": "License information in a profile.",
            "additionalProperties": false
          }
        ]
      },
      "GetProductLicenseResponseServiceModel_Customer": {
        "type": "object",
        "description": "Response models for customers.",
        "additionalProperties": false,
        "properties": {
          "VendorCustomerCode": {
            "type": "string",
            "description": "Customer identifier.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The company name associated to this license.",
            "nullable": true
          }
        }
      },
      "GetProductChildLicensesResponseServiceModel": {
        "type": "object",
        "description": "Response model for GetProductChildLicenses.",
        "additionalProperties": false,
        "properties": {
          "ChildLicenses": {
            "type": "array",
            "description": "Child Licenses associated to the product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetProductChildLicensesResponseServiceModel_Element"
            }
          }
        }
      },
      "GetProductChildLicensesResponseServiceModel_Element": {
        "type": "object",
        "description": "Response model for a child license element that is returned in a GetProductChildLicenses call.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "A unique identifier for the license.",
            "format": "int32",
            "nullable": true
          },
          "Keycode": {
            "type": "string",
            "description": "Keycode identifying the license.",
            "nullable": true
          },
          "ParentKeycode": {
            "type": "string",
            "description": "The keycode for the parent license.",
            "nullable": true
          },
          "SiteName": {
            "type": "string",
            "description": "The name of the site associated to *Keycode*.",
            "nullable": true
          },
          "ChildLicenseProfile": {
            "type": "object",
            "description": "A list of child license profiles.",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/GetProductChildLicensesResponseServiceModel_ChildLicenseProfile"
            }
          }
        }
      },
      "GetProductChildLicensesResponseServiceModel_ChildLicenseProfile": {
        "type": "object",
        "description": "Response model for a child license profile.",
        "additionalProperties": false,
        "properties": {
          "LicenseCategoryName": {
            "type": "string",
            "description": "The category name of this license.",
            "nullable": true
          },
          "LicenseCategoryDescription": {
            "type": "string",
            "description": "A description of this license category.",
            "nullable": true
          },
          "LicenseKeycodeTypeId": {
            "type": "integer",
            "description": "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license.",
            "format": "int32",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date associated to this license.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "The expiration date of this license.",
            "format": "date-time",
            "nullable": true
          },
          "CategoryTypeName": {
            "type": "string",
            "description": "The type of this category. \nPossible values are: trial, full.",
            "nullable": true
          },
          "ItemHierarchyId": {
            "type": "integer",
            "description": "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.",
            "format": "int32",
            "nullable": true
          },
          "ItemHierarchyName": {
            "type": "string",
            "description": "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary.",
            "nullable": true
          },
          "LicenseStatusId": {
            "type": "integer",
            "description": "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled.",
            "format": "int32",
            "nullable": true
          },
          "LicenseStatusDescription": {
            "type": "string",
            "description": "A description for the LicenseStatusId field.",
            "nullable": true
          }
        }
      },
      "CreateTrialProductResponseServiceModel": {
        "type": "object",
        "description": "Response model for CreateTrial.",
        "additionalProperties": false,
        "properties": {
          "Message": {
            "type": "string",
            "description": "Specifies if the user has duplicate registration.",
            "nullable": true
          },
          "LicenseId": {
            "type": "integer",
            "description": "A unique identifier for the license that was queried.",
            "format": "int32",
            "nullable": true
          },
          "Keycode": {
            "type": "string",
            "description": "Keycode identifying the license.",
            "nullable": true
          },
          "ProductLineDescription": {
            "type": "string",
            "description": "Description of the associated product line.",
            "nullable": true
          },
          "Profile": {
            "type": "object",
            "description": "A dictionary of profiles.",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/CreateTrialProductResponseServiceModel_LicenseProfile"
            }
          },
          "Customer": {
            "description": "The customer associated to this license.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateTrialProductResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "CreateTrialProductResponseServiceModel_LicenseProfile": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseServiceModel_LicenseProfile"
          },
          {
            "type": "object",
            "description": "License information in a profile.",
            "additionalProperties": false
          }
        ]
      },
      "CreateTrialProductResponseServiceModel_Customer": {
        "type": "object",
        "description": "Response models for customers.",
        "additionalProperties": false,
        "properties": {
          "VendorCustomerCode": {
            "type": "string",
            "description": "Value that was assigned to identify the recipient of the license.",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "The first name of the customer.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name of the customer.",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "Address line.",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city where the customer is located.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code of the customer's location.",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The state code of the customer's location.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The country code of the customer's location.",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address of the customer.",
            "nullable": true
          },
          "CompanyName": {
            "type": "string",
            "description": "The name of the customer's company.",
            "nullable": true
          }
        }
      },
      "CreateTrialProductRequestServiceModel": {
        "type": "object",
        "description": "Request model for CreateTrial.\n\n**NOTE:** Each partner account configuration can have different products set up, which restrict the values that can be specified for the *LicenseCategoryName* and *LicenseSeats* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.",
        "additionalProperties": false,
        "required": [
          "LicenseSeats",
          "LicenseCategoryName",
          "CustomerEmail"
        ],
        "properties": {
          "LicenseSeats": {
            "type": "integer",
            "description": "The number of seats the trial license should have.",
            "format": "int32"
          },
          "LicenseCategoryName": {
            "type": "string",
            "description": "License category associated to this item. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OSBPB",
            "minLength": 1
          },
          "LicenseKeycodeTypeId": {
            "type": "integer",
            "description": "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license. If not specified, a default of 1 is assumed.",
            "format": "int32",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "The first name of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "Address line.\n\nRequired (for business products)",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "The city of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "The postal code of the customer.\n\nRequired (for business products)",
            "nullable": true
          },
          "State": {
            "type": "string",
            "description": "The ISO two-letter or three-letter code for the state.\n\nRequired (for business products and certain countries like US, CA, AU, NZ, ZA)",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "The ISO two-letter code for the country.\n\nRequired (for business products)",
            "nullable": true
          },
          "CustomerEmail": {
            "type": "string",
            "description": "The email address of the customer.",
            "minLength": 1
          },
          "CompanyName": {
            "type": "string",
            "description": "The name of the customer's company.\n\nRequired (for business products)",
            "nullable": true
          },
          "VendorCustomerCode": {
            "type": "string",
            "description": "An arbitrary value that can be assigned to identify the recipient of the license.",
            "nullable": true
          },
          "VaultId": {
            "type": "integer",
            "description": "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).",
            "format": "int32",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "description": "The modules to be added to this trial product.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CreateTrialProductRequestServiceModel_Module"
            }
          }
        }
      },
      "CreateTrialProductRequestServiceModel_Module": {
        "type": "object",
        "description": "Module information for products",
        "additionalProperties": false,
        "required": [
          "LicenseSeats",
          "LicenseCategoryName"
        ],
        "properties": {
          "LicenseSeats": {
            "type": "integer",
            "description": "The number of seats the trial license should have.",
            "format": "int32"
          },
          "LicenseCategoryName": {
            "type": "string",
            "description": "The category name of the license. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, OTEDR, OTMDR, SECA, OSBPB.",
            "minLength": 1
          },
          "VaultId": {
            "type": "integer",
            "description": "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CreateModuleTrialResponseServiceModel": {
        "type": "object",
        "description": "Response model for creating trial modules.",
        "additionalProperties": false,
        "properties": {
          "LicenseId": {
            "type": "integer",
            "description": "A unique identifier for the license that was queried.",
            "format": "int32",
            "nullable": true
          },
          "Keycode": {
            "type": "string",
            "description": "Keycode identifying the license.",
            "nullable": true
          },
          "ProductLineDescription": {
            "type": "string",
            "description": "Description of the associated product line.",
            "nullable": true
          },
          "ParentLicenseId": {
            "type": "integer",
            "description": "Unique identifier for the parent license.",
            "format": "int32",
            "nullable": true
          },
          "ParentKeycode": {
            "type": "string",
            "description": "The keycode for the parent license.",
            "nullable": true
          },
          "ChildLicenseActivations": {
            "type": "integer",
            "description": "Number of activations in child licenses.",
            "format": "int32",
            "nullable": true
          },
          "PartnerStartDate": {
            "type": "string",
            "description": "Start date of the partner.",
            "format": "date-time",
            "nullable": true
          },
          "Profile": {
            "type": "object",
            "description": "A dictionary of profiles.",
            "nullable": true,
            "additionalProperties": {
              "$ref": "#/components/schemas/CreateModuleTrialResponseServiceModel_LicenseProfile"
            }
          },
          "Customer": {
            "description": "The customer associated to this license.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateModuleTrialResponseServiceModel_Customer"
              }
            ]
          }
        }
      },
      "CreateModuleTrialResponseServiceModel_LicenseProfile": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ResponseServiceModel_LicenseProfile"
          },
          {
            "type": "object",
            "description": "License information in a profile.",
            "additionalProperties": false
          }
        ]
      },
      "CreateModuleTrialResponseServiceModel_Customer": {
        "type": "object",
        "description": "Response models for customers.",
        "additionalProperties": false,
        "properties": {
          "VendorCustomerCode": {
            "type": "string",
            "description": "Customer identifier.",
            "nullable": true
          }
        }
      },
      "CreateModuleTrialRequestServiceModel": {
        "type": "object",
        "description": "Request model for CreateModuleTrial.",
        "additionalProperties": false,
        "required": [
          "Modules"
        ],
        "properties": {
          "Modules": {
            "type": "array",
            "description": "Modules (e.g. DNS Protection or WSAT) for which trial licenses should be created.",
            "items": {
              "$ref": "#/components/schemas/CreateModuleTrialRequestServiceModel_Module"
            }
          }
        }
      },
      "CreateModuleTrialRequestServiceModel_Module": {
        "type": "object",
        "description": "Module information for CreateModuleTrialRequestServiceModel.",
        "additionalProperties": false,
        "required": [
          "LicenseCategoryName"
        ],
        "properties": {
          "LicenseSeats": {
            "type": "integer",
            "description": "The number of seats the trial license should have. If not specified, a default will be assumed based on the given keycode.",
            "format": "int32",
            "nullable": true
          },
          "LicenseCategoryName": {
            "type": "string",
            "description": "The category name of the license. \nPossible values are for example: SDNS, SECA, OTEDR, OTMDR, OSBPB.",
            "minLength": 1
          },
          "VaultId": {
            "type": "integer",
            "description": "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1",
            "format": "int32",
            "nullable": true
          },
          "ProductPlatformId": {
            "type": "integer",
            "description": "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CreateLicenseSyncResponseServiceModel": {
        "type": "object",
        "description": "Response model for synchronizing license updates with ecom.",
        "additionalProperties": false,
        "properties": {
          "LicenseServiceId": {
            "type": "integer",
            "description": "The license service ID associated with the license update.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CreateLicenseSyncRequestServiceModel": {
        "type": "object",
        "description": "Request model for synchronizing license updates with ecom.",
        "additionalProperties": false,
        "required": [
          "LicenseCategoryName"
        ],
        "properties": {
          "LicenseCategoryName": {
            "type": "string",
            "description": "The license category associated with this item. If the value is different to the license category on the keycode, the license category of the keycode will be updated to the specified value. Please reach out to your e-commerce representative about which types of product category changes are allowed.",
            "minLength": 1
          },
          "LicenseSeats": {
            "type": "integer",
            "description": "If provided, updates the license seats to the specified value. Must be a positive value.",
            "format": "int32",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "If provided, updates the license expiration date to the specified value. Must be a valid date.",
            "format": "date-time",
            "nullable": true
          },
          "LicenseDistributionMethodCode": {
            "type": "string",
            "description": "If provided, updates the license distribution method to the specified value. \nPossible values are: ZARB, CARB.",
            "nullable": true
          },
          "CategoryTypeName": {
            "type": "string",
            "description": "If provided, updates the license type to the specified value. \nPossible values are: trial, full.",
            "nullable": true
          },
          "Comment": {
            "type": "string",
            "description": "If provided, specifies the reason for the requested change(s).",
            "nullable": true
          },
          "LicenseStatusDescription": {
            "type": "string",
            "description": "Status of the license. If this property is provided, it must have the value \"disabled\" which disables the license. No other value is allowed.",
            "nullable": true
          }
        }
      },
      "GetPartnerDetailsServiceModel": {
        "type": "object",
        "description": "Response model for getting partner information.",
        "additionalProperties": false,
        "properties": {
          "PartnerName": {
            "type": "string",
            "description": "Name of the partner.",
            "nullable": true
          },
          "PartnerType": {
            "type": "string",
            "description": "Specifies the type of partner. \nPossible values are: Direct, Channel.",
            "nullable": true
          },
          "TrialProducts": {
            "type": "array",
            "description": "List of trial products associated with the partner.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "PaidProducts": {
            "type": "array",
            "description": "List of paid products associated with the partner.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "VersionResponseModel": {
        "type": "object",
        "description": "Response model for querying version information.",
        "additionalProperties": false,
        "properties": {
          "ServiceInformation": {
            "description": "Gets or sets the version details of the service application.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/VersionDetails"
              }
            ]
          },
          "LoadedExtensions": {
            "type": "array",
            "description": "Gets or sets the version details of loaded service extensions.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/VersionDetails"
            }
          }
        }
      },
      "VersionDetails": {
        "type": "object",
        "description": "Provides version information about an assembly module.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Gets the name of the module.",
            "nullable": true
          },
          "Company": {
            "type": "string",
            "description": "Gets the company name string of the module.",
            "nullable": true
          },
          "Product": {
            "type": "string",
            "description": "Gets the product name string of the module.",
            "nullable": true
          },
          "Copyright": {
            "type": "string",
            "description": "Gets the copyright string of the module.",
            "nullable": true
          },
          "Title": {
            "type": "string",
            "description": "Gets the title string of the module.",
            "nullable": true
          },
          "FileVersion": {
            "type": "string",
            "description": "Gets the file version string of the module.",
            "nullable": true
          },
          "Version": {
            "type": "string",
            "description": "Gets the module version string of the module.",
            "nullable": true
          }
        }
      },
      "GetEventTypesResponseModel": {
        "type": "object",
        "description": "Provides information about the available event types that can be subscribed to, including required scope permissions and domains.",
        "additionalProperties": false,
        "properties": {
          "Count": {
            "type": "integer",
            "description": "The total number of available event types.",
            "format": "int32"
          },
          "EventTypes": {
            "type": "array",
            "description": "The list of supported event types.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetEventTypesResponseModelEventType"
            }
          }
        }
      },
      "GetEventTypesResponseModelEventType": {
        "type": "object",
        "description": "Provides details about an event type.",
        "additionalProperties": false,
        "properties": {
          "EventType": {
            "type": "string",
            "description": "The type name of the event.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "The description of the event type.",
            "nullable": true
          },
          "Scopes": {
            "type": "array",
            "description": "The list of scopes associated with the event type. Your user needs to have access to at least one scope in order to be allowed to subsribe to events of this type.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Domains": {
            "type": "array",
            "description": "The domains supported by the event type.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetEventTypesResponseModelEventTypeDomain"
            }
          }
        }
      },
      "GetEventTypesResponseModelEventTypeDomain": {
        "type": "object",
        "description": "Provides details about the domains supported by the event type.\n\nDomains generally define the level at which events are subscribed to. Subscribing on the \"GSM\" domain for example, will deliver event notifications for all applicable entities managed with the GSM console, subscribing on the \"Site\" domain delivers notifications only for respective entities managed on the GSM site. To find out what type of domains are supported by individual event types, query the list of available event types using the [GetEventTypes](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-notifications-subscriptions-eventtypes) API, or review the *Event Notifications* Guide section [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications).",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "The name of the domain.",
            "nullable": true
          },
          "Values": {
            "type": "array",
            "description": "The required field values that need to be provided when subscribing to events with that domain.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "GetSubscriptionsResponseModel": {
        "type": "object",
        "description": "Provides information about active subscriptions.\n\nSubscriptions are maintained on the basis of username and client id. Only subscriptions are returned that have been created and are active for the username and client id pair of the caller.",
        "additionalProperties": false,
        "properties": {
          "Count": {
            "type": "integer",
            "description": "The total number of active subscriptions.",
            "format": "int32"
          },
          "Subscriptions": {
            "type": "array",
            "description": "List of active subscriptions.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SubscriptionResponseModel"
            }
          }
        }
      },
      "SubscriptionResponseModel": {
        "type": "object",
        "description": "Provides information about a subscription.",
        "additionalProperties": false,
        "properties": {
          "SubscriptionId": {
            "type": "string",
            "description": "The subscription identifier.",
            "nullable": true
          },
          "DeliveryType": {
            "type": "string",
            "description": "The delivery type of the subscription.",
            "nullable": true
          },
          "Domain": {
            "description": "The domain the subscription has been created for.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionResponseModelDomain"
              }
            ]
          },
          "EventTypes": {
            "type": "array",
            "description": "The list of subscribed event types.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Webhook": {
            "description": "Information about webhook properties set for the subscription. This value is null, if *DeliveryType* is anything other than \"webhook\".",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionResponseModelWebhook"
              }
            ]
          },
          "CreatedDate": {
            "type": "string",
            "description": "The time when the subscription was created.",
            "format": "date-time",
            "nullable": true
          },
          "UpdatedDate": {
            "type": "string",
            "description": "The time when the subscription was last updated.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "SubscriptionResponseModelDomain": {
        "type": "object",
        "description": "Provides information about the domain that is associated with the subscription.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type name of the domain.",
            "nullable": true
          },
          "Values": {
            "type": "array",
            "description": "List of field values defined for the domain.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SubscriptionResponseModelDomainValue"
            }
          }
        }
      },
      "SubscriptionResponseModelDomainValue": {
        "type": "object",
        "description": "Provides information about domain field values associated with the subscription.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "The name of the domain field.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "The value of the domain field.",
            "nullable": true
          }
        }
      },
      "SubscriptionResponseModelWebhook": {
        "type": "object",
        "description": "Provides information about webhook properties set for the subscription.",
        "additionalProperties": false,
        "properties": {
          "DeliveryContext": {
            "type": "string",
            "description": "A user defined value which can be used for reference purposes in the webhook. This may be useful as an additional context value for lookup purposes in addition to the subscription identifier, and as an added layer of security for verifying the source of the webhook caller.",
            "nullable": true
          },
          "DeliveryRateInSeconds": {
            "type": "integer",
            "description": "The time interval for callouts made to the webhook, i.e. the time which will at least pass between two webhook “Notifications” callouts for a given subscription. If 300, for example, Unity API will at least wait 300 seconds before calling the webhook of new notifications again. If 0, the webhook is called as soon as possible when new notifications become available.",
            "format": "int32"
          },
          "DeliveryUrl": {
            "type": "string",
            "description": "The URL of the publicly accessible API function (the webhook) which is called by Unity API to inform about the availability of new notifications.",
            "format": "uri",
            "nullable": true
          },
          "Suspended": {
            "type": "boolean",
            "description": "Value indicating whether calls to the webhook *DeliveryUrl* were suspended due to too many consecutive failures or in case the [Suspend webhook API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions-subscriptionId-suspendwebhook) was called for the subscription."
          },
          "Statistics": {
            "description": "Provides operational information about the calls to the webhook *DeliveryUrl*.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionResponseModelWebhookStatistics"
              }
            ]
          }
        }
      },
      "SubscriptionResponseModelWebhookStatistics": {
        "type": "object",
        "description": "Provides operational information about calls to the webhook *DeliveryUrl*.\n\nPresented values relate to webhook calls that inform about new notifications. Validation-type webhook calls are not tracked in these statistics.",
        "additionalProperties": false,
        "properties": {
          "LastCalloutSucceeded": {
            "type": "string",
            "description": "The time when the webhook *DeliveryUrl* was last called successfully.",
            "format": "date-time",
            "nullable": true
          },
          "LastCalloutFailed": {
            "type": "string",
            "description": "The time when the webhook *DeliveryUrl* was last attempted to be called, but failed to respond as expected.",
            "format": "date-time",
            "nullable": true
          },
          "LastErrorMessage": {
            "type": "string",
            "description": "The error condition and additional information for the last failed call to the webhook *DeliveryUrl*.",
            "nullable": true
          },
          "LastActivationMessage": {
            "type": "string",
            "description": "The reason why the activation state (suspended/resumed) was last changed.",
            "nullable": true
          },
          "LastActivationMessageChanged": {
            "type": "string",
            "description": "The time when the activate state was last changed.",
            "format": "date-time",
            "nullable": true
          },
          "ConsecutiveFailureCount": {
            "type": "integer",
            "description": "The number of times calls to the webhook *DeliveryUrl* failed in a row. If too many calls to the webhook *DeliveryUrl* fail in succession, the webhook callout will be suspended, which can be determined by the *Suspended* value. If suspended, you can call the [Resume webhook API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions-subscriptionId-resumewebhook) to resume webhook calls for the subscription, after operation of your webhook *DeliveryUrl* service is restored.",
            "format": "int32"
          }
        }
      },
      "GetSubscriptionResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubscriptionResponseModel"
          },
          {
            "type": "object",
            "description": "Provides information about a specific subscription.",
            "additionalProperties": false
          }
        ]
      },
      "FetchSubscriptionNotificationsResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModelBase"
          },
          {
            "type": "object",
            "description": "Provides information about the latest notifications for a subscription.",
            "additionalProperties": false,
            "properties": {
              "Notifications": {
                "type": "array",
                "description": "List of available notifications based on the provided *position* value.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModelNotification"
                }
              }
            }
          }
        ]
      },
      "FetchSubscriptionNotificationsResponseModelNotification": {
        "type": "object",
        "description": "Provides information about the notification and the contained event that occurred.",
        "additionalProperties": false,
        "properties": {
          "EventType": {
            "type": "string",
            "description": "The type of the event that is delivered with the notification.",
            "nullable": true
          },
          "EventObjectName": {
            "type": "string",
            "description": "The event object that is provided in this notification. This value specifies the name of the member object, e.g. *EndpointFileDetectionEvent*, that contains the data related to the occurred event.",
            "nullable": true
          },
          "UnityAPIEventId": {
            "type": "string",
            "description": "The identifier of the event as it is tracked within Unity API.",
            "nullable": true
          },
          "EndpointFileDetectionEvent": {
            "description": "Information about a file detection that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EndpointFileDetectionEventModel"
              }
            ]
          },
          "WtsUrlActionEvent": {
            "description": "Information about a Web Threat Shield event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/WtsUrlActionEventModel"
              }
            ]
          },
          "BackupEvent": {
            "description": "Information about a backup event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CrsbBackupEventModel"
              }
            ]
          },
          "RestoreEvent": {
            "description": "Information about a restore event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CrsbRestoreEventModel"
              }
            ]
          },
          "AgentRegistrationEvent": {
            "description": "Information about a agent registration event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CrsbAgentRegistrationEventModel"
              }
            ]
          },
          "AgentSettingsChangedEvent": {
            "description": "Information about an agent settings changed event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CrsbSettingsChangedEventModel"
              }
            ]
          },
          "ResourceDeletedEvent": {
            "description": "Information about a resource deleted event that occurred on an endpoint.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CrsbResourceDeletedEventModel"
              }
            ]
          }
        }
      },
      "EndpointFileDetectionEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the Endpoint.FileDetection event type, based on the time when the event occurred.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time"
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "ScanInfo": {
                "description": "Information about the type of scan which led to the detection.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EndpointFileDetectionEventModelScanInfo"
                  }
                ]
              },
              "DetectionInfo": {
                "description": "Information about the detection that occurred.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EndpointFileDetectionEventModelDetectionInfo"
                  }
                ]
              }
            }
          }
        ]
      },
      "EndpointFileDetectionEventModelScanInfo": {
        "type": "object",
        "description": "Provides details about the type of scan which led to the detection.",
        "additionalProperties": false,
        "properties": {
          "ScanId": {
            "type": "string",
            "description": "The unique identifier of the scan execution.",
            "nullable": true
          },
          "ScanType": {
            "type": "string",
            "description": "The type code of scan that was carried out. Most common scan types for example are: \n- AL: Anti-Exploit learning scan\n- AM: Anti-Exploit meta scan\n- AR: Anti-Exploit realtime scan\n- AU: Anti-Exploit update scan\n- DS: WSA Deep Scan\n- FS: WSA fast scan\n- MS: WSA manual scan\n- QS: WSA quick scan\n- RT: WSA realtime scan",
            "nullable": true
          }
        }
      },
      "EndpointFileDetectionEventModelDetectionInfo": {
        "type": "object",
        "description": "Provides details about the detection that occurred on an endpoint.",
        "additionalProperties": false,
        "properties": {
          "FileName": {
            "type": "string",
            "description": "The name of the detected file.",
            "nullable": true
          },
          "FilePath": {
            "type": "string",
            "description": "The path where the file was located on the endpoint.",
            "nullable": true
          },
          "FileSize": {
            "type": "integer",
            "description": "The size of the file, in bytes.",
            "format": "int64"
          },
          "FileMD5": {
            "type": "string",
            "description": "The MD5 hash of the file's content.",
            "nullable": true
          },
          "FileSHA256": {
            "type": "string",
            "description": "The SHA256 hash of the file's content.",
            "nullable": true
          },
          "Determination": {
            "type": "string",
            "description": "The Webroot classification of the file. Most common values in the context of the endpoint file detection event type will be \"B\" (Bad) or \"U\" (Undetermined).",
            "nullable": true
          },
          "MalwareGroup": {
            "type": "string",
            "description": "The malware group which the file was classified in.",
            "nullable": true
          }
        }
      },
      "NotificationEventModel": {
        "type": "object",
        "description": "Base model for notification events.",
        "additionalProperties": false
      },
      "WtsUrlActionEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the WebThreatShield.UrlAction event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time"
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "BlockDetails": {
                "description": "Information about the block action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/WtsUrlActionEventModelBlockDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "WtsUrlActionEventModelBlockDetails": {
        "type": "object",
        "description": "Provides details about the actual block action.",
        "additionalProperties": false,
        "properties": {
          "ActionTaken": {
            "type": "string",
            "description": "The action that was taken by Web Threat Shield and/or the user. Currently the following values are supported: \n- BLOCK: The user was blocked from visiting the URL.\n- RECLASSIFY: The user requested a review of the category and reputation of the URL.\n- WHITELIST: The user white-listed the URL.",
            "nullable": true
          },
          "BlockedUrl": {
            "type": "string",
            "description": "The URL that was blocked on the endpoint.",
            "nullable": true
          },
          "BlockReasonId": {
            "type": "integer",
            "description": "The BrightCloud category which caused Web Threat Shield to block the respective URL (e.g. 67). To view a list of all available web categories, visit this [BrightCloud page](https://www.brightcloud.com/tools/change-request.php#urlcategories).",
            "format": "int32",
            "nullable": true
          },
          "BlockReasonName": {
            "type": "string",
            "description": "The name of the category specified by *BlockReasonId*, or \"Low Reputation\", if *BlockReasonId* is 0.",
            "nullable": true
          },
          "BCRI": {
            "type": "integer",
            "description": "The BrightCloud Reputation Index (BCRI) value that caused Web Threat Shield to block the URL. The BrightCloud Reputation Index is a security related score which is based on BrightCloud intelligence for a given URL: 80-100 is trustworthy, 60-79 is low risk, 40-59 is moderate risk, 20-39 is suspicious and 0-19 is high risk. \n**Note: **The *BCRI* value may be null, if a URL is blocked via means of advanced in-place analysis instead of its URL reputation or category, or if *ActionTaken* is \"WHITELIST\".",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "CrsbBackupEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the backup event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time",
                "nullable": true
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "BackupDetails": {
                "description": "Information about the backup action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CrsbBackupEventModelDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "CrsbBackupEventModelDetails": {
        "type": "object",
        "description": "Provides details about the actual backup action.",
        "additionalProperties": false,
        "properties": {
          "EventId": {
            "type": "string",
            "description": "Unique identifier for the backup event.",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "Backup event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).",
            "format": "date-time",
            "nullable": true
          },
          "RealLocalTime": {
            "type": "string",
            "description": "The local time on the agent when the event occurred, in ISO8601 format.",
            "nullable": true
          },
          "UserId": {
            "type": "string",
            "description": "User who initiated the event (may be empty for backup events).",
            "nullable": true
          },
          "BackupType": {
            "type": "string",
            "description": "Type of backup performed.",
            "nullable": true
          },
          "BackupDeviceId": {
            "type": "string",
            "description": "Unique identifier for the backup device.",
            "nullable": true
          },
          "BackupDeviceName": {
            "type": "string",
            "description": "Friendly name of the backup device.",
            "nullable": true
          },
          "BackupLocation": {
            "type": "string",
            "description": "Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).",
            "nullable": true
          },
          "BackupJobId": {
            "type": "string",
            "description": "Unique identifier for the backup job.",
            "nullable": true
          },
          "RetentionModel": {
            "type": "string",
            "description": "Retention model used for the backup (e.g., Custom, Standard).",
            "nullable": true
          },
          "RPRealLocalTime": {
            "type": "string",
            "description": "Local time (ISO8601) when the backup started on the agent.",
            "nullable": true
          },
          "RPId": {
            "type": "string",
            "description": "Restore point identifier, available only if backup completed partially or successfully.",
            "nullable": true
          },
          "TimeElapsedSec": {
            "type": "integer",
            "description": "Time taken for the backup operation, in seconds.",
            "format": "int32"
          },
          "LogLocation": {
            "type": "string",
            "description": "File system location of the backup logs.",
            "nullable": true
          },
          "ProtectedSizeBytes": {
            "type": "integer",
            "description": "Total size of the data protected in bytes.",
            "format": "int64"
          },
          "DeltaSizeBytes": {
            "type": "integer",
            "description": "Size of the delta (incremental) data backed up in bytes.",
            "format": "int64"
          },
          "TransmittedSizeBytes": {
            "type": "integer",
            "description": "Size of the data transmitted during backup in bytes.",
            "format": "int64"
          },
          "Status": {
            "type": "string",
            "description": "Status of the backup operation.",
            "nullable": true
          },
          "StatusReason": {
            "type": "string",
            "description": "Reason for the backup status, if applicable.",
            "nullable": true
          }
        }
      },
      "CrsbRestoreEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the restore event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time",
                "nullable": true
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "RestoreDetails": {
                "description": "Information about the restore action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CrsbRestoreEventModelDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "CrsbRestoreEventModelDetails": {
        "type": "object",
        "description": "Provides details about the actual restore action.",
        "additionalProperties": false,
        "properties": {
          "EventId": {
            "type": "string",
            "description": "Unique identifier for the restore event.",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "Restore event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).",
            "format": "date-time",
            "nullable": true
          },
          "RealLocalTime": {
            "type": "string",
            "description": "The local time on the agent when the event occurred, in ISO8601 format.",
            "nullable": true
          },
          "UserId": {
            "type": "string",
            "description": "User who initiated the event (may be empty for restore events).",
            "nullable": true
          },
          "RecoveryType": {
            "type": "string",
            "description": "Type of restore performed.",
            "nullable": true
          },
          "BackupDeviceId": {
            "type": "string",
            "description": "Unique identifier for the backup device.",
            "nullable": true
          },
          "BackupDeviceName": {
            "type": "string",
            "description": "Friendly name of the backup device.",
            "nullable": true
          },
          "BackupLocation": {
            "type": "string",
            "description": "Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).",
            "nullable": true
          },
          "BackupVolumeName": {
            "type": "string",
            "description": "Root path where the backup was stored.",
            "nullable": true
          },
          "DestinationVolumeName": {
            "type": "string",
            "description": "Root path of the destination where the backup was stored.",
            "nullable": true
          },
          "BackupJobId": {
            "type": "string",
            "description": "Unique identifier for the backup job.",
            "nullable": true
          },
          "RPRealLocalTime": {
            "type": "string",
            "description": "Local time (ISO8601) when the restore started on the agent.",
            "nullable": true
          },
          "RealLocalTimeStarted": {
            "type": "string",
            "description": "Local time when the restore started.",
            "nullable": true
          },
          "RPId": {
            "type": "string",
            "description": "Restore point identifier, available only if restore completed partially or successfully.",
            "nullable": true
          },
          "TimeElapsedSec": {
            "type": "integer",
            "description": "Time taken for the restore operation, in seconds.",
            "format": "int32"
          },
          "LogLocation": {
            "type": "string",
            "description": "File system location of the restore logs.",
            "nullable": true
          },
          "RecoveredSizeBytes": {
            "type": "integer",
            "description": "Total size of the data successfully restored during the restore operation in bytes.",
            "format": "int64"
          },
          "TransmittedSizeBytes": {
            "type": "integer",
            "description": "Size of the data transmitted during backup in bytes.",
            "format": "int64"
          },
          "Status": {
            "type": "string",
            "description": "Status of the restore operation.",
            "nullable": true
          },
          "StatusReason": {
            "type": "string",
            "description": "Reason for the restore status, if applicable.",
            "nullable": true
          }
        }
      },
      "CrsbAgentRegistrationEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the agent registration event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time",
                "nullable": true
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "AgentRegistrationDetails": {
                "description": "Information about the agent registration action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CrsbAgentRegistrationEventModelDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "CrsbAgentRegistrationEventModelDetails": {
        "type": "object",
        "description": "Provides details about the actual agent registration action.",
        "additionalProperties": false,
        "properties": {
          "EventId": {
            "type": "string",
            "description": "Unique identifier for the agent registration event.",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "Agent registration event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).",
            "format": "date-time",
            "nullable": true
          },
          "BackupDeviceId": {
            "type": "string",
            "description": "Unique identifier for the backup device.",
            "nullable": true
          },
          "Status": {
            "type": "string",
            "description": "Status of the agent registration operation.",
            "nullable": true
          }
        }
      },
      "CrsbSettingsChangedEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the agent settings changed event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time",
                "nullable": true
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "AgentSettingsChangedDetails": {
                "description": "Information about the agent settings changed action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CrsbSettingsChangedEventModelDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "CrsbSettingsChangedEventModelDetails": {
        "type": "object",
        "description": "Provides details about the actual agent settings changed action.",
        "additionalProperties": false,
        "properties": {
          "EventId": {
            "type": "string",
            "description": "Unique identifier for the agent settings changed event.",
            "nullable": true
          },
          "UserId": {
            "type": "string",
            "description": "User who initiated the event.",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "Agent setting changed event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).",
            "format": "date-time",
            "nullable": true
          },
          "BackupDeviceId": {
            "type": "string",
            "description": "Unique identifier for the agent settings changed device.",
            "nullable": true
          },
          "Setting": {
            "type": "string",
            "description": "Setting changed during the agent operation (e.g., Password).",
            "nullable": true
          },
          "Status": {
            "type": "string",
            "description": "Status of the settings changed operation (e.g., Completed).",
            "nullable": true
          }
        }
      },
      "CrsbResourceDeletedEventModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/NotificationEventModel"
          },
          {
            "type": "object",
            "description": "Provides information about the resource deleted event type.",
            "additionalProperties": false,
            "properties": {
              "Timestamp": {
                "type": "string",
                "description": "The time when the event occurred.",
                "format": "date-time",
                "nullable": true
              },
              "GSMKey": {
                "type": "string",
                "description": "The keycode of the GSM console.",
                "nullable": true
              },
              "GSMConsoleName": {
                "type": "string",
                "description": "The name of the GSM console.",
                "nullable": true
              },
              "SiteKey": {
                "type": "string",
                "description": "The keycode of the site.",
                "nullable": true
              },
              "SiteId": {
                "type": "string",
                "description": "The site identifier.",
                "nullable": true
              },
              "SiteName": {
                "type": "string",
                "description": "The name of the site.",
                "nullable": true
              },
              "MachineId": {
                "type": "string",
                "description": "The endpoint's concatenated machine identifier.",
                "nullable": true
              },
              "HostName": {
                "type": "string",
                "description": "The hostname of the endpoint.",
                "nullable": true
              },
              "PublicIP": {
                "type": "string",
                "description": "The IP address of the endpoint.",
                "nullable": true
              },
              "ResourceDeletedDetails": {
                "description": "Information about the resource delete action.",
                "nullable": true,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CrsbResourceDeletedEventModelDetails"
                  }
                ]
              }
            }
          }
        ]
      },
      "CrsbResourceDeletedEventModelDetails": {
        "type": "object",
        "description": "Provides details about the actual resource delete action.",
        "additionalProperties": false,
        "properties": {
          "EventId": {
            "type": "string",
            "description": "Unique identifier for the resource deleted event.",
            "nullable": true
          },
          "UserId": {
            "type": "string",
            "description": "Identifier of the user who initiated the resource delete action.\n\nOptional (set only if it is user initiated).",
            "nullable": true
          },
          "Date": {
            "type": "string",
            "description": "Date and time of the event in Unix epoch format (UTC).",
            "format": "date-time",
            "nullable": true
          },
          "DeletionUtcTime": {
            "type": "string",
            "description": "Date and time for the resource deleted event in Unix epoch format (UTC).\n\nOptional (only set when Status = Scheduled).",
            "format": "date-time",
            "nullable": true
          },
          "ResourceId": {
            "type": "string",
            "description": "Identifier for the resource id to be deleted (e.g., AgentId, SiteID, RPName).",
            "nullable": true
          },
          "ResourceType": {
            "type": "string",
            "description": "Identifier for the resource type (e.g., Agent, Site).",
            "nullable": true
          },
          "Status": {
            "type": "string",
            "description": "Status of the resource deleted operation (e.g., Scheduled, Deleted, Cancelled).",
            "nullable": true
          },
          "DeleteReason": {
            "type": "string",
            "description": "Reason for deletion.",
            "nullable": true
          }
        }
      },
      "FetchSubscriptionNotificationsResponseModelBase": {
        "type": "object",
        "description": "Base class for providing information about the latest notifications for a subscription.",
        "additionalProperties": false,
        "properties": {
          "SubscriptionId": {
            "type": "string",
            "description": "The identifier of the subscription the notifications are associated with.",
            "nullable": true
          },
          "Count": {
            "type": "integer",
            "description": "The number of notifications fetched.",
            "format": "int32"
          },
          "NextPosition": {
            "type": "string",
            "description": "The position to specify in follow-up requests for retrieving additional available notifications.\n\nIn case there are no new notifications available beyond the value specified in the *position* request parameter, this value can be the same as the one passed in the request.",
            "nullable": true
          },
          "MoreAvailable": {
            "type": "boolean",
            "description": "Value indicating whether there are more notifications available for the subscription than provided in the response."
          }
        }
      },
      "FetchSubscriptionNotificationsWithFeederResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModelBase"
          },
          {
            "type": "object",
            "description": "Internal model to provide information, including the FeederEventId, about the latest notifications for a subscription.",
            "additionalProperties": false,
            "properties": {
              "Notifications": {
                "type": "array",
                "description": "List of available notifications based on the provided *position* value.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModelNotificationWithFeeder"
                }
              }
            }
          }
        ]
      },
      "FetchSubscriptionNotificationsResponseModelNotificationWithFeeder": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FetchSubscriptionNotificationsResponseModelNotification"
          },
          {
            "type": "object",
            "description": "Internal model to provide information, including the FeederEventId, about the notification and the event that occurred.",
            "additionalProperties": false,
            "properties": {
              "FeederEventId": {
                "type": "string",
                "description": "The feeder identifier of the event.",
                "nullable": true
              }
            }
          }
        ]
      },
      "GeneratePositionResponseModel": {
        "type": "object",
        "description": "Provides information about the modified subscription.",
        "additionalProperties": false,
        "properties": {
          "Position": {
            "type": "string",
            "description": "The start position which corresponds to the request parameters. This position can be used in subsequent notification fetch requests.",
            "nullable": true
          }
        }
      },
      "GeneratePositionRequestModel": {
        "type": "object",
        "description": "Defines the type of position that should be generated.",
        "additionalProperties": false,
        "required": [
          "PositionType"
        ],
        "properties": {
          "PositionType": {
            "type": "string",
            "description": "The type of position which should be created. This can be one of the following values: \n- \"new\" = Start at the most current position (excluding the latest notification)\n- \"latest\" = Start at the most current position (including the latest notification)\n- \"date\" = Start with the first event that occurred at or after the date specified in *StartDate*\n- \"horizon\" = Start at the oldest event available\n\nNote that when starting at historical events (applicable to \"date\" and \"horizon\") the notifications you get may be several days old. Due to the fact that event notifications are only stored for a certain amount of time, older events will be discarded after a while, no matter whether they have been fetched or not. Therefore please ensure to fetch your notifications in time.",
            "minLength": 1
          },
          "StartDate": {
            "type": "string",
            "description": "The event date to start reading from. Only applicable, if a *PositionType* of \"date\" was specified. Please keep in mind that *StartDate* relates to the time an event was made available to the Unity API systems. When receiving notifications with such a date-based starting position, the response may include events with a slightly earlier event time than specified in *StartDate*.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "CreateSubscriptionResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubscriptionResponseModel"
          },
          {
            "type": "object",
            "description": "Provides information about the created subscription.",
            "additionalProperties": false
          }
        ]
      },
      "CreateSubscriptionRequestModel": {
        "type": "object",
        "description": "Specifies information about the subscription to create.",
        "additionalProperties": false,
        "required": [
          "DeliveryType",
          "Domain",
          "EventTypes"
        ],
        "properties": {
          "DeliveryType": {
            "type": "string",
            "description": "The delivery type of the subscription. Valid values are: \"fetch\" or \"webhook\". \n***Fetch***-based subscriptions are consumed at your discretion by creating and maintaining a position value which is used to query your notifications for a subscription from the \"mailbox\" store. See the [position](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions-subscriptionId-position) and [fetch](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-notifications-subscriptions-subscriptionId-fetch_position) APIs for more information.\n\n***Webhook***-based subscriptions allow registering an API endpoint under your control to receive HTTPS calls informing about new notifications becoming available in the \"mailbox\" store. Calls to your webhook API endpoint only inform about new notifications and do not contain notification details. Consuming notifications is still done at your discretion through the same means as with *fetch*-based subscriptions. The webhook enables \"listening\" for arriving notifications in your subscriptions' mailbox and fetching notifications on-demand when they become available instead of having to speculatively query the fetch API at regular intervals.",
            "minLength": 1
          },
          "Domain": {
            "description": "The desired domain to subscribe for notifications which matches the specified event types. Please note that all event types you subscribe to must support the chosen domain.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateSubscriptionRequestModelDomain"
              }
            ]
          },
          "EventTypes": {
            "type": "array",
            "description": "The list of event types to subscribe to.",
            "items": {
              "type": "string"
            }
          },
          "Webhook": {
            "description": "Defines webhook related properties.\n\nRequired, if *DeliveryType* is \"webhook\".",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/CreateSubscriptionRequestModelWebhook"
              }
            ]
          }
        }
      },
      "CreateSubscriptionRequestModelDomain": {
        "type": "object",
        "description": "Specifies information about the domain that is associated with the subscription.\n\nDomains generally define the level at which events are subscribed to. Subscribing on the \"GSM\" domain for example, will deliver event notifications for all applicable entities managed with the GSM console, subscribing on the \"Site\" domain delivers notifications only for respective entities managed on the GSM site. To find out what type of domains are supported by individual event types, query the list of available event types using the [GetEventTypes](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-notifications-subscriptions-eventtypes) API, or review the *Event Notifications* Guide section [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications).",
        "additionalProperties": false,
        "required": [
          "Type",
          "Values"
        ],
        "properties": {
          "Type": {
            "type": "string",
            "description": "The type name of the domain. E.g. \"GSM\", \"Site\".",
            "minLength": 1
          },
          "Values": {
            "type": "array",
            "description": "The required value(s) for the domain. For domains that define multiple values all values need to be provided. For example, subscribing on the \"Site\" domain level requires specifying values for both the GSMKey as well as the SiteKey (like depicted in the request body sample of the create subscription API [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-notifications-subscriptions)).",
            "items": {
              "$ref": "#/components/schemas/CreateSubscriptionRequestModelDomainValue"
            }
          }
        }
      },
      "CreateSubscriptionRequestModelDomainValue": {
        "type": "object",
        "description": "Specifies the required field values for the domain.",
        "additionalProperties": false,
        "required": [
          "Name",
          "Value"
        ],
        "properties": {
          "Name": {
            "type": "string",
            "description": "The name of the field that needs to be provided depending on the domain. E.g. \"GSMKey\", \"SiteKey\".",
            "minLength": 1
          },
          "Value": {
            "type": "string",
            "description": "The value of the domain field (e.g. the GSM keycode).",
            "minLength": 1
          }
        }
      },
      "CreateSubscriptionRequestModelWebhook": {
        "type": "object",
        "description": "Specifies the properties for webhook-based subscriptions.",
        "additionalProperties": false,
        "required": [
          "DeliveryUrl"
        ],
        "properties": {
          "DeliveryContext": {
            "type": "string",
            "description": "A user defined value which can be used for reference purposes in the webhook. This may be useful as an additional context value for lookup purposes in addition to the subscription identifier, and as an added layer of security for verifying the source of the webhook caller.",
            "nullable": true
          },
          "DeliveryRateInSeconds": {
            "type": "integer",
            "description": "The time interval for callouts made to the webhook, i.e. the time which will at least pass between two webhook “Notifications” callouts for a given subscription. For example, when specifying 300 seconds, Unity API will at least wait 300 seconds before calling the webhook of new notifications again. Set to 0 if the webhook should be called as soon as possible when new notifications become available.\n\nMust be 0 or a number between 5 and 3600. Default value is 60.",
            "format": "int32",
            "nullable": true
          },
          "DeliveryUrl": {
            "type": "string",
            "description": "The URL of a publicly accessible API function (the webhook) which should be called by Unity API to confirm the webhook subscription and to inform about the availability of new notifications **(must be an HTTPS endpoint with a fully qualified domain name and a valid certificate)**.",
            "format": "uri",
            "minLength": 1
          }
        }
      },
      "EditSubscriptionResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubscriptionResponseModel"
          },
          {
            "type": "object",
            "description": "Provides information about the modified subscription.",
            "additionalProperties": false
          }
        ]
      },
      "EditSubscriptionRequestModel": {
        "type": "object",
        "description": "Specifies information about the modifications to apply to the subscription.\n\nValues that are not provided will be left unchanged.",
        "additionalProperties": false,
        "properties": {
          "DeliveryType": {
            "type": "string",
            "description": "The delivery type to change the subscription to. Valid values are: \"fetch\" or \"webhook\".",
            "nullable": true
          },
          "EventTypes": {
            "type": "array",
            "description": "The list of event types the subscription should be changed to. This will replace the previous list of subscribed event types.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Webhook": {
            "description": "Webhook related properties that should be updated or set for the subscription.\n\nRequired, if webhook properties should be changed or when changing the subscription's *DeliveryType* to \"webhook\".",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EditSubscriptionRequestModelWebhook"
              }
            ]
          }
        }
      },
      "EditSubscriptionRequestModelWebhook": {
        "type": "object",
        "description": "Specifies new or updated properties for webhook-based subscriptions.",
        "additionalProperties": false,
        "properties": {
          "DeliveryContext": {
            "type": "string",
            "description": "A user defined value which can be used for reference purposes in the webhook. This may be useful as an additional context value for lookup purposes in addition to the subscription identifier, and as an added layer of security for verifying the source of the webhook caller. \n**Note:** When changing this value, the webhook *DeliveryUrl* will be called with a *Type* value of \"Validation\". For the edit subscription request to succeed, the webhook has to respond successfully with the *ValidationResponse* set to the *ValidationContext* value provided in the webhook call. See the related [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) in the Notifications Guide for more information.\n\n*(If specifying a new DeliveryUrl as part of the same edit subscription request, the new one will be called for validation. Otherwise the DeliveryUrl of the original subscription will be called.)*",
            "nullable": true
          },
          "DeliveryRateInSeconds": {
            "type": "integer",
            "description": "The time interval for callouts made to the webhook, i.e. the time which will at least pass between two webhook “Notifications” callouts for a given subscription. For example, when specifying 300 seconds, Unity API will at least wait 300 seconds before calling the webhook of new notifications again. Set to 0 if the webhook should be called as soon as possible when new notifications become available.\n\nMust be 0 or a number between 5 and 3600. Default value is 60.",
            "format": "int32",
            "nullable": true
          },
          "DeliveryUrl": {
            "type": "string",
            "description": "The URL of a publicly accessible API function (the webhook) which should be called by Unity API to confirm the webhook subscription and to inform about the availability of new notifications **(must be an HTTPS endpoint with a fully qualified domain name and a valid certificate)**. \n**Note:** When changing this value, the provided web address will be called with a *Type* value of \"Validation\". For the edit subscription request to succeed, the webhook has to respond successfully with the *ValidationResponse* set to the *ValidationContext* value provided in the webhook call. See the related [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) in the Notifications Guide for more information.\n\nRequired (when changing from a non-webhook to a webhook-based subscription)",
            "format": "uri",
            "nullable": true
          }
        }
      },
      "GetAllCustomersResponseModel": {
        "type": "object",
        "description": "Provides information about a list of customers.",
        "additionalProperties": false,
        "properties": {
          "Customers": {
            "type": "array",
            "description": "List of customer detail records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetCustomerResponseModel"
            }
          },
          "Links": {
            "description": "Pagination information.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetAllCustomersResponseModelPageLinks"
              }
            ]
          },
          "Meta": {
            "description": "Additional information of the response.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetAllCustomersResponseModelPageMeta"
              }
            ]
          }
        }
      },
      "GetCustomerResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCustomerAttributeModel"
          },
          {
            "type": "object",
            "description": "Provides details about an end customer.",
            "additionalProperties": false,
            "properties": {
              "CustomerId": {
                "type": "string",
                "description": "Unique guid of the customer.",
                "nullable": true
              },
              "CustomerNumber": {
                "type": "string",
                "description": "Unique number associated with the customer.",
                "nullable": true
              },
              "Currency": {
                "type": "string",
                "description": "Currency code selected by the customer.",
                "nullable": true
              },
              "CustomerSince": {
                "type": "string",
                "description": "Timestamp indicating when the customer was created in OpenText Secure Cloud.",
                "format": "date-time"
              },
              "IsClosed": {
                "type": "boolean",
                "description": "Indicates whether the customer's account is closed."
              }
            }
          }
        ]
      },
      "BaseCustomerAttributeModel": {
        "type": "object",
        "description": "Provides details about an end customer.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the customer.",
            "nullable": true
          },
          "CustomerType": {
            "type": "string",
            "description": "Type of the customer. For example: *Resold*, *Direct*, *Partner*, *Referred*.",
            "nullable": true
          },
          "AddressLine1": {
            "type": "string",
            "description": "Part one of the street address.",
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "description": "Part two of the street address that indicates a suite, floor, or specific location.",
            "nullable": true
          },
          "StateOrProvince": {
            "type": "string",
            "description": "State or province of the customer.",
            "nullable": true
          },
          "Country": {
            "type": "string",
            "description": "Country code of the customer.",
            "nullable": true
          },
          "Municipality": {
            "type": "string",
            "description": "Municipality of the customer location.",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "Postal code of the customer's location.",
            "nullable": true
          },
          "Website": {
            "type": "string",
            "description": "Customer's domain/website URI.",
            "nullable": true
          },
          "Industry": {
            "type": "string",
            "description": "Customer's industry sector. For example: *Accounting*, *Banking* etc.",
            "nullable": true
          },
          "Culture": {
            "type": "string",
            "description": "Desired language for UI and reports. For example: *en-US*, *es-ES*, *de-DE*.",
            "nullable": true
          },
          "TimeZone": {
            "type": "string",
            "description": "Timezone of the customer.",
            "nullable": true
          },
          "ExternalCustomerAccountNumber": {
            "type": "string",
            "description": "Identifier of the customer in systems external to OpenText Secure Cloud.",
            "nullable": true
          },
          "AutoConvertTrials": {
            "type": "boolean",
            "description": "Indicates whether to automatically convert trial subscriptions to paid ones when they expire. Valid values are *true*, *false*."
          }
        }
      },
      "GetAllCustomersResponseModelPageLinks": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PageLinks"
          },
          {
            "type": "object",
            "description": "Pagination information.",
            "additionalProperties": false
          }
        ]
      },
      "PageLinks": {
        "type": "object",
        "description": "Pagination information.",
        "additionalProperties": false,
        "properties": {
          "NextPageLimit": {
            "type": "integer",
            "description": "Specifies the number of entries returned per request. Valid values range from 10 to 1000.",
            "format": "int32",
            "nullable": true
          },
          "NextPageOffset": {
            "type": "integer",
            "description": "Indicates the starting position for retrieving the next set of results in pagination.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "GetAllCustomersResponseModelPageMeta": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PageMeta"
          },
          {
            "type": "object",
            "description": "Additional information of the response.",
            "additionalProperties": false
          }
        ]
      },
      "PageMeta": {
        "type": "object",
        "description": "Additional information of the response.",
        "additionalProperties": false,
        "properties": {
          "Page": {
            "description": "Defines page details.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Page"
              }
            ]
          }
        }
      },
      "Page": {
        "type": "object",
        "description": "Defines page details.",
        "additionalProperties": false,
        "properties": {
          "Total": {
            "type": "integer",
            "description": "Total number of records available in the response.",
            "format": "int32"
          }
        }
      },
      "CreateCustomerUserResponseModel": {
        "type": "object",
        "description": "Information about the user to be created for a customer.",
        "additionalProperties": false,
        "properties": {
          "UserId": {
            "type": "string",
            "description": "Unique identifier for a new user generated in OpenText Secure Cloud platform.",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "description": "Additional information received during user creation.\n\nThis field is applicable only when the http status code is 200.",
            "nullable": true
          },
          "UserConfigurations": {
            "type": "array",
            "description": "Services information for a user.\n\nThis field is applicable only when the http status code is 200.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UserService"
            }
          }
        }
      },
      "UserService": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseUserService"
          },
          {
            "type": "object",
            "description": "Services for the user. The user’s customer must have an active subscription for the service.",
            "additionalProperties": false,
            "properties": {
              "ServiceConfiguration": {
                "type": "array",
                "description": "List of service configuration information.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/UserServiceServiceConfiguration"
                }
              }
            }
          }
        ]
      },
      "UserServiceServiceConfiguration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceConfigurationEntry"
          },
          {
            "type": "object",
            "description": "List of service configuration information.",
            "additionalProperties": false
          }
        ]
      },
      "ServiceConfigurationEntry": {
        "type": "object",
        "description": "Settings for a user's services. No settings are available for *Email Continuity Services*, *Secure File Sharing*, *Email Message Privacy* or *Backup Administrator*.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the service configuration.",
            "nullable": true
          },
          "Value": {
            "type": "array",
            "description": "Values of the service configuration.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "BaseUserService": {
        "type": "object",
        "description": "Service details.",
        "additionalProperties": false,
        "properties": {
          "ServiceName": {
            "type": "string",
            "description": "Services that can be enabled for a user. Valid services are: *Email Threat Protection*, *Email Continuity Services*, *Secure File Sharing*, *Email Message Privacy*, *Backup Administrator*, *Exchange* and *Office365*.",
            "nullable": true
          }
        }
      },
      "CreateCustomerUserRequestModel": {
        "type": "object",
        "description": "Request model to create a new end customer's user.",
        "additionalProperties": false,
        "required": [
          "FirstName",
          "LastName",
          "EmailAddress"
        ],
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "First name of the user. The first name can have a maximum of 50 characters.",
            "maxLength": 50,
            "minLength": 1
          },
          "LastName": {
            "type": "string",
            "description": "Last name of the user. The last name can have a maximum of 50 characters.",
            "maxLength": 50,
            "minLength": 1
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Phone number of the user. The phone number can have a maximum of 50 characters.",
            "maxLength": 50,
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "description": "Email address of the user.",
            "minLength": 1
          },
          "Roles": {
            "type": "array",
            "description": "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "UserServices": {
            "type": "array",
            "description": "Services information for the user.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UserService"
            }
          },
          "SendWelcomeEmail": {
            "type": "boolean",
            "description": "Indicates whether a welcome email should be sent to the user."
          }
        }
      },
      "UpdateCustomerUserResponseModel": {
        "type": "object",
        "description": "Additional information received while updating the user.",
        "additionalProperties": false,
        "properties": {
          "Message": {
            "type": "string",
            "description": "Additional information received while updating the user.",
            "nullable": true
          }
        }
      },
      "UpdateCustomerUserRequestModel": {
        "type": "object",
        "description": "Request Model to update a end customer's user.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "First name of the user. The first name can have a maximum of 50 characters.",
            "maxLength": 50,
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "Last name of the user. The last name can have a maximum of 50 characters.",
            "maxLength": 50,
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Phone number of the user. The phone number can have a maximum of 50 characters.",
            "maxLength": 50,
            "nullable": true
          },
          "Roles": {
            "type": "array",
            "description": "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "GetAllCustomerUsersResponseModel": {
        "type": "object",
        "description": "Information about a list of users.",
        "additionalProperties": false,
        "properties": {
          "Users": {
            "type": "array",
            "description": "List of user detail records.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetUserResponseModel"
            }
          },
          "Links": {
            "description": "Pagination information.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetAllCustomerUsersResponseModelPageLinks"
              }
            ]
          },
          "Meta": {
            "description": "Additional information of the response.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/GetAllCustomerUsersResponseModelPageMeta"
              }
            ]
          }
        }
      },
      "GetUserResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCustomerUserAttributeModel"
          },
          {
            "type": "object",
            "description": "Provides details about a user.",
            "additionalProperties": false,
            "properties": {
              "UserId": {
                "type": "string",
                "description": "Unique identifier of a user.",
                "nullable": true
              },
              "Culture": {
                "type": "string",
                "description": "Culture or language of the user.",
                "nullable": true
              },
              "UserServices": {
                "type": "array",
                "description": "List of services configured for a user.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/GetUserResponseModelUserService"
                }
              }
            }
          }
        ]
      },
      "GetUserResponseModelUserService": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseUserService"
          },
          {
            "type": "object",
            "description": "Services configured for a user.",
            "additionalProperties": false
          }
        ]
      },
      "BaseCustomerUserAttributeModel": {
        "type": "object",
        "description": "Provides details about a user.",
        "additionalProperties": false,
        "properties": {
          "FirstName": {
            "type": "string",
            "description": "First name of the user.",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "Last name of the user.",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "description": "Phone number of the user.",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "description": "Email address of the user.",
            "nullable": true
          },
          "Roles": {
            "type": "array",
            "description": "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "GetAllCustomerUsersResponseModelPageLinks": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PageLinks"
          },
          {
            "type": "object",
            "description": "Pagination information.",
            "additionalProperties": false
          }
        ]
      },
      "GetAllCustomerUsersResponseModelPageMeta": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PageMeta"
          },
          {
            "type": "object",
            "description": "Additional information of the response.",
            "additionalProperties": false
          }
        ]
      },
      "GetCustomerUserResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCustomerUserWithServicesAttributeModel"
          },
          {
            "type": "object",
            "description": "Provides details about a user.",
            "additionalProperties": false,
            "properties": {
              "UserId": {
                "type": "string",
                "description": "Unique identifier of a user.",
                "nullable": true
              },
              "Culture": {
                "type": "string",
                "description": "Culture or language of the user.",
                "nullable": true
              }
            }
          }
        ]
      },
      "BaseCustomerUserWithServicesAttributeModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCustomerUserAttributeModel"
          },
          {
            "type": "object",
            "description": "Provides details about a user along with services.",
            "additionalProperties": false,
            "properties": {
              "UserServices": {
                "type": "array",
                "description": "Services information for the user.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/UserService"
                }
              }
            }
          }
        ]
      },
      "UpdateUserServicesResponseModel": {
        "type": "object",
        "description": "Additional information received while updating user services for the user.",
        "additionalProperties": false,
        "properties": {
          "Message": {
            "type": "string",
            "description": "Additional information received while updating user services for the user.",
            "nullable": true
          },
          "UserConfigurations": {
            "type": "array",
            "description": "Services information for a user.\n\nThis field is returned only when the service configuration has been updated with differences from the request defined.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UserService"
            }
          }
        }
      },
      "UpdateUserServicesRequestModel": {
        "type": "object",
        "description": "Service and service configuration about the user to be updated.",
        "additionalProperties": false,
        "properties": {
          "UserServices": {
            "type": "array",
            "description": "Services information for the user.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UpdateUserServiceRequestModelService"
            }
          }
        }
      },
      "UpdateUserServiceRequestModelService": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserService"
          },
          {
            "type": "object",
            "description": "Services information for the user.",
            "additionalProperties": false,
            "properties": {
              "RemoveService": {
                "type": "boolean",
                "description": "Indicates whether the service should be removed. If set to true, any provided service configuration is ignored. If omitted or set to false, the service will be created or updated based on the provided configuration.\n\nDefault is set to false if not specified."
              }
            }
          }
        ]
      },
      "GetAllCustomerUserServicesResponseModel": {
        "type": "object",
        "description": "List of services available for an end customer.",
        "additionalProperties": false,
        "properties": {
          "Services": {
            "type": "array",
            "description": "List of services available for an end customer.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetAllCustomerUserServicesResponseModelService"
            }
          },
          "ConfigurationReferences": {
            "type": "array",
            "description": "Common properties across the service configurations where the config value is derived.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/GetAllCustomerUserResponseModelConfigurationReference"
            }
          }
        }
      },
      "GetAllCustomerUserServicesResponseModelService": {
        "type": "object",
        "description": "Services available for an end customer.",
        "additionalProperties": false,
        "properties": {
          "ServiceName": {
            "type": "string",
            "description": "Name of the service. For example, *Email Threat Protection*.",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the Product as it appears on the bill. For example, *Advanced Email Threat Protection*.",
            "nullable": true
          },
          "Domain": {
            "type": "string",
            "description": "Primary domain of the subscription. A domain value is not returned if the subscription does not require a domain.",
            "nullable": true
          },
          "Aliases": {
            "type": "array",
            "description": "Domain aliases or additional domains for the subscription.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "ServiceConfigurationProperties": {
            "type": "array",
            "description": "Service configuration for the products.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UserServiceConfiguration"
            }
          }
        }
      },
      "UserServiceConfiguration": {
        "type": "object",
        "description": "List of service configuration properties can be enabled for a user.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the service configuration.",
            "nullable": true
          },
          "Value": {
            "type": "array",
            "description": "Values of the service configuration. Note: Either *Value* or *Reference* field contains possible values.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Type": {
            "type": "string",
            "description": "Type of the service configuration value.",
            "nullable": true
          },
          "Reference": {
            "type": "string",
            "description": "Name of the key from where the config values can be derived.",
            "nullable": true
          }
        }
      },
      "GetAllCustomerUserResponseModelConfigurationReference": {
        "type": "object",
        "description": "Common properties across the service configurations where the config value is derived.",
        "additionalProperties": false,
        "properties": {
          "ReferenceName": {
            "type": "string",
            "description": "Links the service name to the respective reference properties.",
            "nullable": true
          },
          "ReferenceValues": {
            "type": "array",
            "description": "Reference values associated with a service configuration.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "GetAllSubscriptionResponseModel": {
        "type": "object",
        "description": "List of subscriptions available for the customer.",
        "additionalProperties": false,
        "properties": {
          "Subscriptions": {
            "type": "array",
            "description": "List of subscriptions available for the customer.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SubscriptionDetailModel"
            }
          }
        }
      },
      "SubscriptionDetailModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSubscriptionModel"
          },
          {
            "type": "object",
            "description": "Information about customer subscription.",
            "additionalProperties": false
          }
        ]
      },
      "BaseSubscriptionModel": {
        "type": "object",
        "description": "Information about customer subscription.",
        "additionalProperties": false,
        "properties": {
          "SubscriptionKey": {
            "type": "string",
            "description": "Unique identifier of the subscription.",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the product.",
            "nullable": true
          },
          "Categories": {
            "type": "array",
            "description": "Categories associated with the product.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "Domain": {
            "type": "string",
            "description": "Primary domain of the subscription. If the subscription does not require a domain, a domain value is not returned.",
            "nullable": true
          },
          "Aliases": {
            "type": "array",
            "description": "Domain aliases or additional domains for the subscription.",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "IsTrial": {
            "type": "boolean",
            "description": "Indicates whether the subscription is a trial. Valid values are: *True*, *False*."
          },
          "SubscriptionTerm": {
            "type": "string",
            "description": "Term of the subscription. Valid values are: *Monthly*, *Quarterly*, *Biannual*, *Annual*, *Triennial*.",
            "nullable": true
          },
          "BillingFrequency": {
            "type": "string",
            "description": "Frequency of billing the customer for the subscription. Valid values are: *Monthly*, *Quarterly*, *Biannual*, *Annual*, *Triennial*.",
            "nullable": true
          },
          "ExpirationBehavior": {
            "type": "string",
            "description": "Action that occurs when the subscription expires. Valid values are: *None*, *AutoRenew*, *AutoConvert*.",
            "nullable": true
          },
          "SubscriptionStatus": {
            "type": "string",
            "description": "Status of the subscription. Valid values are: *Active*, *Trial*, *Installing*, *Not Installed*, *Scheduled to Uninstall*, *Uninstalling*, *Cancelled*, *Suspending*, *Suspended*.",
            "nullable": true
          },
          "StartDate": {
            "type": "string",
            "description": "Start date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "ExpirationDate": {
            "type": "string",
            "description": "End date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "CancellationDate": {
            "type": "string",
            "description": "Date when the subscription was cancelled.",
            "format": "date-time",
            "nullable": true
          },
          "CancellationGracePeriod": {
            "type": "integer",
            "description": "Number of days after the cancellation date when the subscription will be uninstalled, if it is not renewed or cancelled.",
            "format": "int32"
          },
          "ScheduledUninstallDate": {
            "type": "string",
            "description": "Date when the subscription is scheduled to be uninstalled.",
            "format": "date-time",
            "nullable": true
          },
          "AvailableActions": {
            "description": "Available actions for the subscription.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/AvailableSubscriptionActions"
              }
            ]
          }
        }
      },
      "AvailableSubscriptionActions": {
        "type": "object",
        "description": "List of actions available for subscriptions.",
        "additionalProperties": false,
        "properties": {
          "CanCancel": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be cancelled. Valid values are: *True*, *False*."
          },
          "CanConfigure": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be configured. Valid values are: *True*, *False*."
          },
          "CanRestore": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be restored to Active status. Valid values are: *True*, *False*."
          },
          "CanSuspend": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be suspended. Valid values are: *True*, *False*."
          },
          "CanUpgrade": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be upgraded. Valid values are: *True*, *False*."
          },
          "CanDowngrade": {
            "type": "boolean",
            "description": "Indicates whether the subscription can be downgraded. Valid values are: *True*, *False*."
          }
        }
      },
      "GetSubscriptionDetailResponseModel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SubscriptionDetailModel"
          },
          {
            "type": "object",
            "description": "Provides detail of a subscription.",
            "additionalProperties": false,
            "properties": {
              "ConfigurableSubscriptionDetails": {
                "type": "array",
                "description": "Set of properties that can be changed for the subscription.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ConfigurableSubscriptionDetail"
                }
              },
              "ReadonlySubscriptionDetails": {
                "type": "array",
                "description": "Set of properties that were configured for the subscription and cannot be changed.",
                "nullable": true,
                "items": {
                  "$ref": "#/components/schemas/ReadonlySubscriptionDetail"
                }
              }
            }
          }
        ]
      },
      "ConfigurableSubscriptionDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConfigurableSubscriptionDetailProperty"
          },
          {
            "type": "object",
            "description": "Set of properties that can be changed for the subscription.",
            "additionalProperties": false
          }
        ]
      },
      "ConfigurableSubscriptionDetailProperty": {
        "type": "object",
        "description": "Request Model to update a customer's subscription.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the subscription property.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "Value of the subscription property.",
            "nullable": true
          }
        }
      },
      "ReadonlySubscriptionDetail": {
        "type": "object",
        "description": "Set of properties that were configured for the subscription and cannot be changed.",
        "additionalProperties": false,
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the subscription property.",
            "nullable": true
          },
          "Value": {
            "type": "string",
            "description": "Value of the subscription property.",
            "nullable": true
          }
        }
      },
      "UpdateSubscriptionResponseModel": {
        "type": "object",
        "description": "Information received after updating the subscription.",
        "additionalProperties": false,
        "properties": {
          "Message": {
            "type": "string",
            "description": "Information received after updating the subscription.",
            "nullable": true
          }
        }
      },
      "UpdateSubscriptionRequestModel": {
        "type": "object",
        "description": "Request Model to update a customer's subscription.",
        "additionalProperties": false,
        "properties": {
          "ConfigurableSubscriptionDetails": {
            "type": "array",
            "description": "Set of subscription properties that can be updated. Each subscription property consists of a name/value pair.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UpdateConfigurableSubscriptionDetail"
            }
          }
        }
      },
      "UpdateConfigurableSubscriptionDetail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ConfigurableSubscriptionDetailProperty"
          },
          {
            "type": "object",
            "description": "Set of properties that can be changed for the subscription.",
            "additionalProperties": false
          }
        ]
      },
      "SubscriptionChargesResponseModel": {
        "type": "object",
        "description": "Defines subscription charges events attributes, product, partner, subscription, customer and billing account associated with the subscription charge. It also includes paging information.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "type": "array",
            "description": "Provides information associated with the subscription charge.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SubscriptionChargesResult"
            }
          },
          "Links": {
            "description": "Page details.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesLinks"
              }
            ]
          },
          "Meta": {
            "description": "Total number of records associated with the subscription charge result.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesPageMeta"
              }
            ]
          }
        }
      },
      "SubscriptionChargesResult": {
        "type": "object",
        "description": "Result contains the subscription charges attributes, product, partner, subscription, customer and billing account associated with the subscription charges.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "description": "Unique identifier of the data associated with the subscription charge.",
            "nullable": true
          },
          "Attributes": {
            "description": "Contains subscription charge fields/properties.\n\nProperties are optional, depends on the fields requested.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesAttributes"
              }
            ]
          },
          "Relationships": {
            "description": "Product, partner, subscription, customer and billing account associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ChargesRelationships"
              }
            ]
          }
        }
      },
      "SubscriptionChargesAttributes": {
        "type": "object",
        "description": "Subscription charges fields/properties.",
        "additionalProperties": false,
        "properties": {
          "ChargeCode": {
            "type": "string",
            "description": "Unique identifier of the charge.",
            "nullable": true
          },
          "ChargeName": {
            "type": "string",
            "description": "Name of the subscription charge.",
            "nullable": true
          },
          "ChargeType": {
            "type": "string",
            "description": "Type of charge. Valid values are:*Recurring* and *One-Time*.",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the product associated with the charge.",
            "nullable": true
          },
          "ProductType": {
            "type": "string",
            "description": "Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.",
            "nullable": true
          },
          "BillableItem": {
            "type": "string",
            "description": "Usage counter for determining the number of units for the charge.",
            "nullable": true
          },
          "Price": {
            "type": "number",
            "description": "Unit price.",
            "format": "double",
            "nullable": true
          },
          "TermPrice": {
            "type": "number",
            "description": "Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.",
            "format": "double",
            "nullable": true
          },
          "Currency": {
            "type": "string",
            "description": "Currency for reporting the charge, for example, *USD*.",
            "nullable": true
          },
          "Quantity": {
            "type": "integer",
            "description": "Number of units for the charge.",
            "format": "int32",
            "nullable": true
          },
          "Total": {
            "type": "number",
            "description": "Total charge amount.",
            "format": "double",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the charge.",
            "nullable": true
          },
          "SubscriptionStartDate": {
            "type": "string",
            "description": "Start date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "SubscriptionCanceled": {
            "type": "boolean",
            "description": "Indicates whether the subscription was canceled. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "SubscriptionCanceledDate": {
            "type": "string",
            "description": "Date when the subscription was canceled.",
            "format": "date-time",
            "nullable": true
          },
          "InitialTerm": {
            "type": "integer",
            "description": "First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.",
            "format": "int32",
            "nullable": true
          },
          "CurrentTerm": {
            "type": "integer",
            "description": "Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.",
            "format": "int32",
            "nullable": true
          },
          "CommitmentTerm": {
            "type": "integer",
            "description": "For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.",
            "format": "int32",
            "nullable": true
          },
          "TermStartDate": {
            "type": "string",
            "description": "Start date of the current subscription.",
            "format": "date-time",
            "nullable": true
          },
          "TermEndDate": {
            "type": "string",
            "description": "End date of the current subscription.",
            "format": "date-time",
            "nullable": true
          },
          "IsTrial": {
            "type": "boolean",
            "description": "Indicates whether the subscription is a trial. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "IsAutoRenew": {
            "type": "boolean",
            "description": "Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "EffectiveDate": {
            "type": "string",
            "description": "Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer.",
            "nullable": true
          },
          "CustomerType": {
            "type": "string",
            "description": "Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.",
            "nullable": true
          }
        }
      },
      "ChargesRelationships": {
        "type": "object",
        "description": "Defines product, partner, subscription, customer and billing account associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Product": {
            "description": "Product associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesProduct"
              }
            ]
          },
          "Partner": {
            "description": "Partner associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesPartner"
              }
            ]
          },
          "Subscription": {
            "description": "Subscription associated with the charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesSubscription"
              }
            ]
          },
          "Customer": {
            "description": "Customer associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesCustomer"
              }
            ]
          },
          "BillToAccount": {
            "description": "Account that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesBillToAccount"
              }
            ]
          }
        }
      },
      "SubscriptionChargesProduct": {
        "type": "object",
        "description": "Defines product associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Product's information  associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesData": {
        "type": "object",
        "description": "Defines product, partner, subscription, customer and billing account associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "description": "Unique identifier of the data associated with the subscription charge.",
            "nullable": true
          },
          "Meta": {
            "description": "Account number that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesMeta"
              }
            ]
          }
        }
      },
      "SubscriptionChargesMeta": {
        "type": "object",
        "description": "Result contains information such as customer number/ bill to account number.",
        "additionalProperties": false,
        "properties": {
          "CustomerNumber": {
            "type": "string",
            "description": "Customer number associated with the subscription charge.",
            "nullable": true
          },
          "BillToAccountNumber": {
            "type": "string",
            "description": "Account number that the subscription charge is billed to.",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesPartner": {
        "type": "object",
        "description": "Defines partner associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Partner's information associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesSubscription": {
        "type": "object",
        "description": "Defines subscription associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Subscription charge's information events associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesCustomer": {
        "type": "object",
        "description": "Defines customer associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Records for customer associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesBillToAccount": {
        "type": "object",
        "description": "Account that the subscription charge is billed to.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Records for account that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesLinks": {
        "type": "object",
        "description": "Contains page information.",
        "additionalProperties": false,
        "properties": {
          "NextPageLimit": {
            "type": "integer",
            "description": "Next page limit.",
            "format": "int32",
            "nullable": true
          },
          "NextPageOffset": {
            "type": "integer",
            "description": "Next page offset.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesPageMeta": {
        "type": "object",
        "description": "Defines total number of records associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Page": {
            "description": "Indicates the total number of records with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesPage"
              }
            ]
          }
        }
      },
      "SubscriptionChargesPage": {
        "type": "object",
        "description": "Defines page details.",
        "additionalProperties": false,
        "properties": {
          "Total": {
            "type": "integer",
            "description": "Total number of pages.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesRequestModel": {
        "type": "object",
        "description": "Defines sort order, filters and fields for charges event included in the response.",
        "additionalProperties": false,
        "properties": {
          "SubscriptionChargesFilterFields": {
            "description": "Defines the charges filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *\"IsTrail\": \"eq:true\"*.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesFilterFields"
              }
            ]
          },
          "Sorting": {
            "description": "Controls the sort order of the charges in the response. Multiple parameters can be specified, for example, *{\"IsTrial\": \"Ascending\"}*.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ChargesSorting"
              }
            ]
          },
          "Fields": {
            "description": "Defines the fields to be included in the response. (Optional, multiple parameters can be added).The parameter is case-insensitive. For example: *\"IsTrial\", \"chargeCode\"*. If it is omitted, the response will include all possible fields by default.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/ChargesFields"
              }
            ]
          }
        }
      },
      "SubscriptionChargesFilterFields": {
        "type": "object",
        "description": "Defines the charges filter fields.Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *\"IsTrail\": \"eq:true\"*.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the subscription charge. This id is generated by OpenText Secure Cloud.\n\nOptional",
            "nullable": true
          },
          "ChargeCode": {
            "type": "string",
            "description": "Unique identifier of the charge.\n\nOptional",
            "nullable": true
          },
          "ChargeName": {
            "type": "string",
            "description": "Name of the subscription charge.\n\nOptional",
            "nullable": true
          },
          "ChargeType": {
            "type": "string",
            "description": "Type of charge. Valid values are:*Recurring* and *One-Time*em.\n\nOptional",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the product associated with the charge.\n\nOptional",
            "nullable": true
          },
          "ProductType": {
            "type": "string",
            "description": "Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.\n\nOptional",
            "nullable": true
          },
          "BillableItem": {
            "type": "string",
            "description": "Usage counter for determining the number of units for the charge.\n\nOptional",
            "nullable": true
          },
          "Price": {
            "type": "string",
            "description": "Unit price.\n\nOptional",
            "nullable": true
          },
          "TermPrice": {
            "type": "string",
            "description": "Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.\n\nOptional",
            "nullable": true
          },
          "Currency": {
            "type": "string",
            "description": "Currency for reporting the charge, for example, *USD*.\n\nOptional",
            "nullable": true
          },
          "Quantity": {
            "type": "string",
            "description": "Number of units for the charge.\n\nOptional",
            "nullable": true
          },
          "Total": {
            "type": "string",
            "description": "Total charge amount.\n\nOptional",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the charge.\n\nOptional",
            "nullable": true
          },
          "SubscriptionStartDate": {
            "type": "string",
            "description": "Start date of the subscription.\n\nOptional",
            "nullable": true
          },
          "SubscriptionCanceled": {
            "type": "string",
            "description": "Indicates whether the subscription was canceled. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "SubscriptionCanceledDate": {
            "type": "string",
            "description": "Date when the subscription was canceled.\n\nOptional",
            "nullable": true
          },
          "InitialTerm": {
            "type": "string",
            "description": "First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.\n\nOptional",
            "nullable": true
          },
          "CurrentTerm": {
            "type": "string",
            "description": "Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.\n\nOptional",
            "nullable": true
          },
          "CommitmentTerm": {
            "type": "string",
            "description": "For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.\n\nOptional",
            "nullable": true
          },
          "TermStartDate": {
            "type": "string",
            "description": "Start date of the current subscription.\n\nOptional",
            "nullable": true
          },
          "TermEndDate": {
            "type": "string",
            "description": "End date of the current subscription.\n\nOptional",
            "nullable": true
          },
          "IsTrial": {
            "type": "string",
            "description": "Indicates whether the subscription is a trial. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "IsAutoRenew": {
            "type": "string",
            "description": "Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "EffectiveDate": {
            "type": "string",
            "description": "Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.\n\nOptional",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date of the subscription.\n\nOptional",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer.\n\nOptional",
            "nullable": true
          },
          "CustomerType": {
            "type": "string",
            "description": "Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.\n\nOptional",
            "nullable": true
          },
          "ProductId": {
            "type": "string",
            "description": "Unique identifier of the product data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "PartnerId": {
            "type": "string",
            "description": "Unique identifier of the partner data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "SubscriptionId": {
            "type": "string",
            "description": "Unique identifier of the subscription data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Unique identifier of the customer data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "BillToAccountId": {
            "type": "string",
            "description": "Unique identifier of the \"bill to account\" associated with the subscription charge.\n\nOptional",
            "nullable": true
          }
        }
      },
      "ChargesSorting": {
        "type": "object",
        "description": "Class Used for sorting using Fields available to sort.",
        "additionalProperties": false,
        "properties": {
          "Parameters": {
            "type": "object",
            "description": "Dictionary consists of key/value pairs. Keys represent field names and values define the sort order (*ascending* or *descending*).  \nKey is case insensitive.\n\nCharge sorting parameters is one or more of these fields:   \n*ChargeCode, CustomerName, CustomerType, ChargeName, IsTrial, IsAutoRenew, EffectiveDate, EndDate, ChargeType, ProductName, ProductType, BillableItem, Price, TermPrice, Currency, Quantity, Total, Description, SubscriptionStartDate, SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate.*  \nSort order is either \"Ascending\" or \"Descending\".",
            "nullable": true,
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "ChargesFields": {
        "type": "object",
        "description": "Class used for showing only required fields.",
        "additionalProperties": false,
        "properties": {
          "FieldParam": {
            "type": "array",
            "description": "Charge fields to be selected from results.\n\nAvailable charge fields which can be selected are   \n*ChargeCode, CustomerName, CustomerType, ChargeName, IsTrial, IsAutoRenew, EffectiveDate, EndDate, ChargeType, ProductName, ProductType, BillableItem, Price, TermPrice, Currency, Quantity, Total, Description, SubscriptionStartDate, SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate.*",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SubscriptionChargesEventsResponseModel": {
        "type": "object",
        "description": "Defines subscription charges events attributes, product, partner, subscription, customer and billing account associated with the subscription charge. It also includes paging information.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "type": "array",
            "description": "Provides event information associated with the subscription charge.",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SubscriptionChargesEventResult"
            }
          },
          "Links": {
            "description": "Page details.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventLinks"
              }
            ]
          },
          "Meta": {
            "description": "Total number of records associated with the subscription charge event result.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventPageMeta"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventResult": {
        "type": "object",
        "description": "Result contains the subscription charges event attributes, product, partner, subscription, customer and billing account associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "description": "Unique identifier of the data associated with the subscription charge.",
            "nullable": true
          },
          "Attributes": {
            "description": "Contains subscription charge events fields/properties.\n\nProperties are optional, depends on the fields requested.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventAttributes"
              }
            ]
          },
          "Relationships": {
            "description": "Product, partner, subscription, customer and billing account associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventEventsRelationships"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventAttributes": {
        "type": "object",
        "description": "Defines subscription charge events fields/properties.",
        "additionalProperties": false,
        "properties": {
          "ChargeCode": {
            "type": "string",
            "description": "Unique identifier of the charge.",
            "nullable": true
          },
          "ChargeName": {
            "type": "string",
            "description": "Name of the subscription charge.",
            "nullable": true
          },
          "ChargeType": {
            "type": "string",
            "description": "Type of charge. Valid values are:*Recurring* and *One-Time*.",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the product associated with the charge.",
            "nullable": true
          },
          "ProductType": {
            "type": "string",
            "description": "Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.",
            "nullable": true
          },
          "IsOffice365Nce": {
            "type": "boolean",
            "description": "Indicates whether the charge is for a Microsoft Office 365 New Commerce Experience (NCE) subscription. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "BillableItem": {
            "type": "string",
            "description": "The usage counter for determining the number of units for the charge.",
            "nullable": true
          },
          "Price": {
            "type": "number",
            "description": "Unit price.",
            "format": "double",
            "nullable": true
          },
          "TermPrice": {
            "type": "number",
            "description": "Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.",
            "format": "double",
            "nullable": true
          },
          "Currency": {
            "type": "string",
            "description": "Currency for reporting the charge, for example, *USD*.",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "Number of units for the charge.",
            "format": "double",
            "nullable": true
          },
          "PreviousQuantity": {
            "type": "number",
            "description": "Number of units before the current charge.",
            "format": "double",
            "nullable": true
          },
          "Total": {
            "type": "number",
            "description": "The total charge amount.",
            "format": "double",
            "nullable": true
          },
          "EventType": {
            "type": "string",
            "description": "Type of subscription charge event. Valid values are: *Recurring*, *Adjustment* and *One-Time*.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the charge.",
            "nullable": true
          },
          "SubscriptionStartDate": {
            "type": "string",
            "description": "Start date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "SubscriptionCanceled": {
            "type": "boolean",
            "description": "Indicates whether the subscription was canceled. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "SubscriptionCanceledDate": {
            "type": "string",
            "description": "Date when the subscription was canceled.",
            "format": "date-time",
            "nullable": true
          },
          "InitialTerm": {
            "type": "integer",
            "description": "First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.",
            "format": "int32",
            "nullable": true
          },
          "CurrentTerm": {
            "type": "integer",
            "description": "Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.",
            "format": "int32",
            "nullable": true
          },
          "CommitmentTerm": {
            "type": "integer",
            "description": "For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.",
            "format": "int32",
            "nullable": true
          },
          "TermStartDate": {
            "type": "string",
            "description": "Start date of the current subscription.",
            "format": "date-time",
            "nullable": true
          },
          "TermEndDate": {
            "type": "string",
            "description": "End date of the current subscription.",
            "format": "date-time",
            "nullable": true
          },
          "IsTrial": {
            "type": "boolean",
            "description": "Indicates whether the subscription is a trial. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "IsAutoRenew": {
            "type": "boolean",
            "description": "Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "EffectiveDate": {
            "type": "string",
            "description": "Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date of the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "SubscriptionProductUpdated": {
            "type": "boolean",
            "description": "Indicates whether the product was changed in the subscription. Valid values are: *true* and *false*.",
            "nullable": true
          },
          "SubscriptionProductUpdatedDate": {
            "type": "string",
            "description": "Date when the product was changed in the subscription.",
            "format": "date-time",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer.",
            "nullable": true
          },
          "CustomerType": {
            "type": "string",
            "description": "Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesEventEventsRelationships": {
        "type": "object",
        "description": "Defines product, partner, subscription, customer and billing account associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Product": {
            "description": "Product associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventProduct"
              }
            ]
          },
          "Partner": {
            "description": "partner associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventPartner"
              }
            ]
          },
          "Subscription": {
            "description": "Subscription associated with the charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventSubscription"
              }
            ]
          },
          "Customer": {
            "description": "Customer associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventCustomer"
              }
            ]
          },
          "BillToAccount": {
            "description": "Account that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventBillToAccount"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventProduct": {
        "type": "object",
        "description": "Defines product associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Product's information associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventData": {
        "type": "object",
        "description": "Defines product, partner, subscription, customer and billing account associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Type": {
            "type": "string",
            "description": "Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "description": "Unique identifier of the data associated with the subscription charge.",
            "nullable": true
          },
          "Meta": {
            "description": "Account number that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargeEventMeta"
              }
            ]
          }
        }
      },
      "SubscriptionChargeEventMeta": {
        "type": "object",
        "description": "Result contains information such as customer number/ bill to account number.",
        "additionalProperties": false,
        "properties": {
          "CustomerNumber": {
            "type": "string",
            "description": "Customer number associated with the subscription charge.",
            "nullable": true
          },
          "BillToAccountNumber": {
            "type": "string",
            "description": "Account number that the subscription charge is billed to.",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesEventPartner": {
        "type": "object",
        "description": "Defines partner associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Partner's information associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventSubscription": {
        "type": "object",
        "description": "Defines subscription event associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Event information associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventCustomer": {
        "type": "object",
        "description": "Defines customer associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Records for customer associated with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventBillToAccount": {
        "type": "object",
        "description": "Defines account that the subscription charge is billed to.",
        "additionalProperties": false,
        "properties": {
          "Data": {
            "description": "Records for account that the subscription charge is billed to.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventData"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventLinks": {
        "type": "object",
        "description": "Contains page information.",
        "additionalProperties": false,
        "properties": {
          "NextPageLimit": {
            "type": "integer",
            "description": "Next page limit.",
            "format": "int32",
            "nullable": true
          },
          "NextPageOffset": {
            "type": "integer",
            "description": "Next page offset.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesEventPageMeta": {
        "type": "object",
        "description": "Defines total number of records associated with the subscription charge.",
        "additionalProperties": false,
        "properties": {
          "Page": {
            "description": "Indicates the total number of records with the subscription charge.",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventPage"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventPage": {
        "type": "object",
        "description": "Defines page details.",
        "additionalProperties": false,
        "properties": {
          "Total": {
            "type": "integer",
            "description": "Total number of pages.",
            "format": "int32",
            "nullable": true
          }
        }
      },
      "SubscriptionChargesEventsRequestModel": {
        "type": "object",
        "description": "Defines sort order, filters and fields for charges event included in the response.",
        "additionalProperties": false,
        "properties": {
          "SubscriptionChargesEventFilterFields": {
            "description": "Defines the charges event filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *\"IsTrail\": \"eq:true\"*.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/SubscriptionChargesEventsFilterFields"
              }
            ]
          },
          "Sorting": {
            "description": "Controls the sort order of the events in the response. Multiple parameters can be specified, for example, *{ \"IsTrial\": \"Ascending\"}*.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EventSorting"
              }
            ]
          },
          "Fields": {
            "description": "Defines the fields to be included in the response. (Optional, multiple parameters can be added).The parameter is case-insensitive. For example: *\"IsTrial\", \"chargeCode\"*. If it is omitted, the response will include all possible fields by default.\n\nOptional",
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/EventFields"
              }
            ]
          }
        }
      },
      "SubscriptionChargesEventsFilterFields": {
        "type": "object",
        "description": "Defines the charges event filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *\"IsTrail\": \"eq:true\"*.",
        "additionalProperties": false,
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the each subscription charge events. This ID is generated in OpenText Secure Cloud.\n\nOptional",
            "nullable": true
          },
          "ChargeCode": {
            "type": "string",
            "description": "Unique identifier of the charge.\n\nOptional",
            "nullable": true
          },
          "ChargeName": {
            "type": "string",
            "description": "Name of the subscription charge.\n\nOptional",
            "nullable": true
          },
          "ChargeType": {
            "type": "string",
            "description": "Type of charge. Valid values are:*Recurring* and *One-Time*.\n\nOptional",
            "nullable": true
          },
          "ProductName": {
            "type": "string",
            "description": "Name of the product associated with the charge.\n\nOptional",
            "nullable": true
          },
          "ProductType": {
            "type": "string",
            "description": "Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.\n\nOptional",
            "nullable": true
          },
          "IsOffice365Nce": {
            "type": "string",
            "description": "Indicates whether the charge is for a *Microsoft Office 365 New Commerce Experience (NCE)* subscription. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "BillableItem": {
            "type": "string",
            "description": "Usage counter for determining the number of units for the charge.\n\nOptional",
            "nullable": true
          },
          "Price": {
            "type": "string",
            "description": "Unit price.\n\nOptional",
            "nullable": true
          },
          "TermPrice": {
            "type": "string",
            "description": "Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.\n\nOptional",
            "nullable": true
          },
          "Currency": {
            "type": "string",
            "description": "Currency for reporting the charge, for example, *USD*.\n\nOptional",
            "nullable": true
          },
          "Quantity": {
            "type": "string",
            "description": "Number of units for the charge.\n\nOptional",
            "nullable": true
          },
          "PreviousQuantity": {
            "type": "string",
            "description": "Number of units before the current charge.\n\nOptional",
            "nullable": true
          },
          "Total": {
            "type": "string",
            "description": "Total charge amount.\n\nOptional",
            "nullable": true
          },
          "EventType": {
            "type": "string",
            "description": "Type of subscription charge event. Valid values are: *Recurring*, *Adjustment* and *One-Time*.\n\nOptional",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the charge.\n\nOptional",
            "nullable": true
          },
          "SubscriptionStartDate": {
            "type": "string",
            "description": "Start date of the subscription.\n\nOptional",
            "nullable": true
          },
          "SubscriptionCanceled": {
            "type": "string",
            "description": "Indicates whether the subscription was canceled. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "SubscriptionCanceledDate": {
            "type": "string",
            "description": "Date when the subscription was canceled.\n\nOptional",
            "nullable": true
          },
          "InitialTerm": {
            "type": "string",
            "description": "First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.\n\nOptional",
            "nullable": true
          },
          "CurrentTerm": {
            "type": "string",
            "description": "Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.\n\nOptional",
            "nullable": true
          },
          "CommitmentTerm": {
            "type": "string",
            "description": "For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.\n\nOptional",
            "nullable": true
          },
          "TermStartDate": {
            "type": "string",
            "description": "Start date of the current subscription.\n\nOptional",
            "nullable": true
          },
          "TermEndDate": {
            "type": "string",
            "description": "End date of the current subscription.\n\nOptional",
            "nullable": true
          },
          "IsTrial": {
            "type": "string",
            "description": "Indicates whether the subscription is a trial. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "IsAutoRenew": {
            "type": "string",
            "description": "Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.\n\nOptional",
            "nullable": true
          },
          "EffectiveDate": {
            "type": "string",
            "description": "Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.\n\nOptional",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "End date of the subscription.\n\nOptional",
            "nullable": true
          },
          "SubscriptionProductUpdated": {
            "type": "string",
            "description": "Indicates whether the product was changed in the subscription. Valid values are: *true, false*.\n\nOptional",
            "nullable": true
          },
          "SubscriptionProductUpdatedDate": {
            "type": "string",
            "description": "Date when the product was changed in the subscription.\n\nOptional",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer.\n\nOptional",
            "nullable": true
          },
          "CustomerType": {
            "type": "string",
            "description": "Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.\n\nOptional",
            "nullable": true
          },
          "ProductId": {
            "type": "string",
            "description": "Unique identifier of the product data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "PartnerId": {
            "type": "string",
            "description": "Unique identifier of the partner data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "SubscriptionId": {
            "type": "string",
            "description": "Unique identifier of the subscription data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Unique identifier of the customer data associated with the subscription charge.\n\nOptional",
            "nullable": true
          },
          "BillToAccountId": {
            "type": "string",
            "description": "Unique identifier of the \"bill to account\" associated with the subscription charge.\n\nOptional",
            "nullable": true
          }
        }
      },
      "EventSorting": {
        "type": "object",
        "description": "Used for sorting.",
        "additionalProperties": false,
        "properties": {
          "Parameters": {
            "type": "object",
            "description": "Dictionary consists of key/value pairs. Keys represent field names and values define the sort order (*ascending* or *descending*).  \nKey is case insensitive.\n\nSorting parameters is one or more of these fields:   \n*ChargeCode, ChargeName, ChargeType, ProductName, ProductType, IsOffice365Nce, BillableItem, Price, TermPrice, Currency, Quantity, PreviousQuantity, Total, EventType, Description, SubscriptionStartDate,SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate, IsTrial, IsAutoRenew, EffectiveDate, EndDate, SubscriptionProductUpdated, SubscriptionProductUpdatedDate, CustomerName, CustomerType.*  \nSort order is either \"Ascending\" or \"Descending\".",
            "nullable": true,
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "EventFields": {
        "type": "object",
        "description": "Defines fields for charges event to be included in Response.",
        "additionalProperties": false,
        "properties": {
          "FieldParam": {
            "type": "array",
            "description": "Event fields to be selected from results.\n\nAvailable Event Fields which can be selected are   \n*ChargeCode, ChargeName, ChargeType, ProductName, ProductType, IsOffice365Nce, BillableItem, Price, TermPrice, Currency, Quantity, PreviousQuantity, Total, EventType, Description, SubscriptionStartDate,SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate, IsTrial, IsAutoRenew, EffectiveDate, EndDate, SubscriptionProductUpdated, SubscriptionProductUpdatedDate, CustomerName, CustomerType*",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "UnityAPISecurity": {
        "type": "oauth2",
        "description": "This API uses OAuth 2 with Resource Owner Password Credentials Grant.",
        "flows": {
          "password": {
            "tokenUrl": "https://unityapi.webrootcloudav.com/auth/token",
            "refreshUrl": "https://unityapi.webrootcloudav.com/auth/token",
            "scopes": {
              "SkyStatus.GSM": "Grants access to the SkyStatus.GSM scope.",
              "SkyStatus.Site": "Grants access to the SkyStatus.Site scope.",
              "SkyStatus.Reporting": "Grants access to the SkyStatus.Reporting scope.",
              "Console.Access": "Grants access to the Console.Access scope.",
              "Console.GSM": "Grants access to the Console.GSM scope.",
              "ECom.Shop": "Grants access to the ECom.Shop scope.",
              "HealthCheck": "Grants access to the HealthCheck scope.",
              "Notifications.Subscriptions": "Grants access to the Notifications.Subscriptions scope.",
              "SecureCloud.Platform": "Grants access to the SecureCloud.Platform scope.",
              "SecureCloud.Usage": "Grants access to the SecureCloud.Usage scope."
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "SkyStatus: Endpoint Status Site",
      "description": "Provides a set of API calls for retrieving agent status information from specific endpoints. Endpoints can be queried by site key, filtered by machineID and by last modification date."
    },
    {
      "name": "SkyStatus",
      "description": "Provides a set of API calls for retrieving agent and license status information from specific endpoints."
    },
    {
      "name": "SkyStatus: Endpoint Status GSM",
      "description": "Provides a set of API calls for retrieving agent status information from specific endpoints. Endpoints can be queried by GSM master key, filtered by machineID and by last modification date."
    },
    {
      "name": "SkyStatus: Usage Reporting",
      "description": "Provides a set of API calls for retrieving usage reports on a specific GSM master key. \n**Note:** Report data is generally available for the last 40 days for which you can query usage reports. It is not guaranteed that later historical data can be accessed through these API methods."
    },
    {
      "name": "Console: Console Access",
      "description": "Provides a set of API calls for acquiring access to GSM console environments. For more information about how to request access and about related prerequisites, please see the description of the individual API endpoints.\n\n#### Note:\nThe *Console.Access* scope is not accessible by Console API users and only available to distribution partners, via a separate contract agreement."
    },
    {
      "name": "Console",
      "description": "Provides a set of API calls for console site management."
    },
    {
      "name": "Console: Console GSM",
      "description": "Provides a set of API calls for creating endpoint protection sites and listing policies and admins for a given GSM keycode, as well as for managing endpoint protection sites given a specified GSM keycode and a site identifier."
    },
    {
      "name": "ECom: Shop",
      "description": "Provides a set of API calls for purchasing and cancelling products."
    },
    {
      "name": "ECom",
      "description": "Provides a set of API calls for creating and modifying licenses, as well as retrieving license and license order information.\n\n#### Note:\nECom scopes are not accessible by Console API users and only available to distribution partners, via a separate contract agreement."
    },
    {
      "name": "HealthCheck: Health Check",
      "description": "Provides a set of API calls for determining the general availability of the service and for retrieving version information."
    },
    {
      "name": "HealthCheck",
      "description": "Provides a set of API calls for verifying the general health of a Unity API service instance as well as for retrieving service version information."
    },
    {
      "name": "Notifications: Subscriptions",
      "description": "Provides a set of API calls for subscribing to event notifications and managing subscriptions.\n\nFor more information about how to subscribe to certain events and how to retrieve event notifications please refer to the *Event Notifications* Guide section [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications)."
    },
    {
      "name": "Notifications",
      "description": "Provides a set of API calls for Notifications."
    },
    {
      "name": "SecureCloud: SecureCloud Customers",
      "description": "Provides a set of API calls to retrieve OpenText Secure Cloud customer and user related information. \n**Note:** When requesting the *\"SecureCloud.Platform\"* scope, *\"SecureCloud.Usage\"* is implicitly added to the access token. As a result, both SecureCloud customers and SecureCloud usage methods can be called. However, when requesting \"SecureCloud.Usage\", only usage methods will be available."
    },
    {
      "name": "SecureCloud",
      "description": "Provides a set of API methods for the OpenText Secure Cloud platform."
    },
    {
      "name": "SecureCloud: SecureCloud Usage",
      "description": "Provides a set of API calls to retrieve OpenText Secure Cloud related billing information."
    }
  ],
  "x-unityapi-environment": "Production",
  "x-tagGroups": [
    {
      "name": "SkyStatus",
      "tags": [
        "SkyStatus: Endpoint Status Site",
        "SkyStatus: Endpoint Status GSM",
        "SkyStatus: Usage Reporting"
      ]
    },
    {
      "name": "Console",
      "tags": [
        "Console: Console Access",
        "Console: Console GSM"
      ]
    },
    {
      "name": "ECom",
      "tags": [
        "ECom: Shop"
      ]
    },
    {
      "name": "HealthCheck",
      "tags": [
        "HealthCheck: Health Check"
      ]
    },
    {
      "name": "Notifications",
      "tags": [
        "Notifications: Subscriptions"
      ]
    },
    {
      "name": "SecureCloud",
      "tags": [
        "SecureCloud: SecureCloud Customers",
        "SecureCloud: SecureCloud Usage"
      ]
    }
  ]
}