{ "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.23117.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": "8CF6-F30E-CFC3-4078-A248" }, { "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": "660d394bf2c34b2d9e86ba5cad067a6d660d394bf2c34b2d9e86ba5cad067a6d:::4b564c4fde274c9384274b564c4fde274c938427:::4b564c4fde274c9384274b564c4fde274c938427" }, { "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,Scheduling,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": "2023-05-27T07:58:08.7626992Z" }, { "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": "17" }, { "name": "continuation", "in": "query", "description": "A continuation token for batched requests", "schema": { "type": "string", "nullable": false }, "x-position": 6, "example": "cSZGfySCObRMAmVb" } ], "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": "2023-06-01T07:48:08.7626992Z", "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": "2023-10-01T07:58:08.7626992Z", "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": "2023-06-01T02:58:08.7626992Z", "SystemState": 1, "SystemStateUpdated": "2023-06-01T02:58:08.7626992Z" }, "TimesAndStats": { "LastGarbageRemovalTime": null, "LastGarbageRemovalSize": 0, "TotalGarbageRemovalSize": 0, "LastScan": "2023-06-01T05:58:08.7626992Z", "LastScanDuration": 252, "LastScanCount": 120410, "ScanCount": 9, "ThreatsRemoved": 1, "LastQuickScan": null, "LastQuickScanDuration": 0, "LastFullScan": "2023-06-01T05:58:08.7626992Z", "LastFullScanDuration": 834, "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.155.164.16", "MACAddress": "26-5F-AB-37-47-FC", "ADSTRING": "", "Workgroup": "WORKGROUP", "DNSServer": "10.87.181.142", "BinType": "SMEINSTALL", "Email": "", "OtherAVProduct": "", "OtherAVProductVersion": "", "IsOtherAVEnabled": false, "IsOtherAVUpdated": false, "PrimaryBrowser": "IE", "PrimaryBrowserVersion": "9.11.9600.18125", "IsFirewallEnabled": true, "IsVirtualMachine": false, "IPV4": "10.155.164.16", "IPV6": "", "FQDN": "", "NTDOMAIN": "", "LDAPOID": "", "LDAPDN": "" }, "MasterKC": "5F6B-7743-0124-4FDF-B8C4", "KC": "0CC3-7FC4-158D-45FF-9EB1", "MachineID": "4df51906ab5b40a4a41993d241411c404df51906ab5b40a4a41993d241411c40:::9ba87adaf0c5466c81d59ba87adaf0c5466c81d5:::9ba87adaf0c5466c81d59ba87adaf0c5466c81d5", "LastChanged": "2023-05-30T07:58:08.7626992Z", "HostName": "Computer1", "IPAddress": "95.217.151.44", "ClientVersion": "9.0.13.58", "OS": "Windows Server 2012 (Build 9600) 64bit", "FirstSeen": "2023-05-01T07:58:08.7626992Z", "LastSeen": "2023-05-31T07:58:08.7626992Z", "TimesSeen": 21, "Hidden": false, "Deactivated": false, "ActivationStatusTime": null }, { "BasicInfo": { "StatusRefreshTime": "2023-06-01T07:38:08.7626992Z", "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": "2023-10-01T07:58:08.7626992Z", "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": "2023-05-31T21:58:08.7626992Z", "SystemState": 1, "SystemStateUpdated": "2023-05-31T21:58:08.7626992Z" }, "TimesAndStats": { "LastGarbageRemovalTime": null, "LastGarbageRemovalSize": 0, "TotalGarbageRemovalSize": 0, "LastScan": "2023-06-01T03:58:08.7626992Z", "LastScanDuration": 153, "LastScanCount": 190943, "ScanCount": 17, "ThreatsRemoved": 1, "LastQuickScan": null, "LastQuickScanDuration": 0, "LastFullScan": "2023-06-01T03:58:08.7626992Z", "LastFullScanDuration": 790, "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.198.154.90", "MACAddress": "E1-30-A7-66-FC-75", "ADSTRING": "", "Workgroup": "WORKGROUP", "DNSServer": "10.179.134.87", "BinType": "SMEINSTALL", "Email": "", "OtherAVProduct": "", "OtherAVProductVersion": "", "IsOtherAVEnabled": false, "IsOtherAVUpdated": false, "PrimaryBrowser": "IE", "PrimaryBrowserVersion": "9.11.9600.18125", "IsFirewallEnabled": true, "IsVirtualMachine": false, "IPV4": "10.198.154.90", "IPV6": "", "FQDN": "", "NTDOMAIN": "", "LDAPOID": "", "LDAPDN": "" }, "MasterKC": "5F6B-7743-0124-4FDF-B8C4", "KC": "0CC3-7FC4-158D-45FF-9EB1", "MachineID": "e659aa0db5364b739dbf211566794eb3e659aa0db5364b739dbf211566794eb3:::c090177edc5e4edcbfb6c090177edc5e4edcbfb6:::c090177edc5e4edcbfb6c090177edc5e4edcbfb6", "LastChanged": "2023-05-28T07:58:08.7626992Z", "HostName": "Computer2", "IPAddress": "95.104.107.181", "ClientVersion": "9.0.13.58", "OS": "Windows Server 2012 (Build 9600) 64bit", "FirstSeen": "2023-04-01T07:58:08.7626992Z", "LastSeen": "2023-05-30T07:58:08.7626992Z", "TimesSeen": 6, "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": "7B88-4521-0F23-4B7C-82BE" }, { "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": "27a2d9818b6f4042bbc584047a716b4b27a2d9818b6f4042bbc584047a716b4b:::76605144439a4463980776605144439a44639807:::76605144439a4463980776605144439a44639807" }, { "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": "2023-05-27T07:58:08.8095705Z" }, { "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": "49" }, { "name": "continuation", "in": "query", "description": "A continuation token for batched requests", "schema": { "type": "string", "nullable": false }, "x-position": 5, "example": "RGnmEd6AFvvJmpTE" } ], "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": "2023-05-01T07:58:08.8095705Z", "UninstalledDate": null, "AgentVersion": "1.3.3.35", "LastSeenDate": "2023-05-30T07:58:08.8095705Z", "LastModifiedDate": "2023-05-01T09:58:08.8095705Z", "TrafficCountLast24Hours": 2134, "DNSPolicyID": "5a44380a-b28c-40d3-bb9a-09723475277b", "DNSPolicyName": "Securedns High Protection", "MachineID": "3a9037f4333a4965a4aeb54cb15d89a43a9037f4333a4965a4aeb54cb15d89a4:::d73fc52f92584ad9b2fdd73fc52f92584ad9b2fd:::d73fc52f92584ad9b2fdd73fc52f92584ad9b2fd", "KC": "9DE1-F029-22C1-4D18-BF3A", "MasterKC": "23CF-494D-46A0-4CF9-BACF" }, { "HostName": "Computer2", "IsVirtualMachine": false, "DNSAgentStatus": "Installed", "InstalledDate": "2023-04-01T07:58:08.8095705Z", "UninstalledDate": null, "AgentVersion": "1.3.3.35", "LastSeenDate": "2023-05-28T07:58:08.8095705Z", "LastModifiedDate": "2023-04-01T11:58:08.8095705Z", "TrafficCountLast24Hours": 2134, "DNSPolicyID": "b39d418b-57a5-45fa-8ea0-923891dbfadc", "DNSPolicyName": "Securedns High Protection", "MachineID": "248aaed98ee14d1daa17ac15d2ecddbd248aaed98ee14d1daa17ac15d2ecddbd:::4910f9e042294356b2ff4910f9e042294356b2ff:::4910f9e042294356b2ff4910f9e042294356b2ff", "KC": "9DE1-F029-22C1-4D18-BF3A", "MasterKC": "23CF-494D-46A0-4CF9-BACF" } ], "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": "9095-F601-32EA-45D2-8F13" }, { "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": "cfbedbc6e8d3435aa6fdb6c0698029adcfbedbc6e8d3435aa6fdb6c0698029ad:::adf591f7eec04d089d84adf591f7eec04d089d84:::adf591f7eec04d089d84adf591f7eec04d089d84" }, { "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": "SystemAnalyzer,OSAndVersions,Scheduling" }, { "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": "2023-05-27T07:58:08.8251971Z" }, { "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": "20" }, { "name": "continuation", "in": "query", "description": "A continuation token for batched requests", "schema": { "type": "string", "nullable": false }, "x-position": 6, "example": "k0sA8t6GplC1Oin0" } ], "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": "2023-06-01T07:48:08.8251971Z", "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": "2023-10-01T07:58:08.8251971Z", "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": "2023-06-01T02:58:08.8251971Z", "SystemState": 1, "SystemStateUpdated": "2023-06-01T02:58:08.8251971Z" }, "TimesAndStats": { "LastGarbageRemovalTime": null, "LastGarbageRemovalSize": 0, "TotalGarbageRemovalSize": 0, "LastScan": "2023-06-01T05:58:08.8251971Z", "LastScanDuration": 140, "LastScanCount": 184112, "ScanCount": 4, "ThreatsRemoved": 1, "LastQuickScan": null, "LastQuickScanDuration": 0, "LastFullScan": "2023-06-01T05:58:08.8251971Z", "LastFullScanDuration": 790, "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.118.212.68", "MACAddress": "C6-2C-32-CA-D4-DA", "ADSTRING": "", "Workgroup": "WORKGROUP", "DNSServer": "10.39.173.115", "BinType": "SMEINSTALL", "Email": "", "OtherAVProduct": "", "OtherAVProductVersion": "", "IsOtherAVEnabled": false, "IsOtherAVUpdated": false, "PrimaryBrowser": "IE", "PrimaryBrowserVersion": "9.11.9600.18125", "IsFirewallEnabled": true, "IsVirtualMachine": false, "IPV4": "10.118.212.68", "IPV6": "", "FQDN": "", "NTDOMAIN": "", "LDAPOID": "", "LDAPDN": "" }, "MasterKC": "AF3F-D09D-D676-4A81-98AC", "KC": "DBBB-590F-93C9-4123-A103", "MachineID": "c2c5c281abd74ae5a31d6b7e2b1fc7f6c2c5c281abd74ae5a31d6b7e2b1fc7f6:::0150b57ea30842fdb1b50150b57ea30842fdb1b5:::0150b57ea30842fdb1b50150b57ea30842fdb1b5", "LastChanged": "2023-05-30T07:58:08.8251971Z", "HostName": "Computer1", "IPAddress": "95.139.51.107", "ClientVersion": "9.0.13.58", "OS": "Windows Server 2012 (Build 9600) 64bit", "FirstSeen": "2023-05-01T07:58:08.8251971Z", "LastSeen": "2023-05-31T07:58:08.8251971Z", "TimesSeen": 17, "Hidden": false, "Deactivated": false, "ActivationStatusTime": null }, { "BasicInfo": { "StatusRefreshTime": "2023-06-01T07:38:08.8251971Z", "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": "2023-10-01T07:58:08.8251971Z", "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": "2023-05-31T21:58:08.8251971Z", "SystemState": 1, "SystemStateUpdated": "2023-05-31T21:58:08.8251971Z" }, "TimesAndStats": { "LastGarbageRemovalTime": null, "LastGarbageRemovalSize": 0, "TotalGarbageRemovalSize": 0, "LastScan": "2023-06-01T03:58:08.8251971Z", "LastScanDuration": 154, "LastScanCount": 104070, "ScanCount": 11, "ThreatsRemoved": 1, "LastQuickScan": null, "LastQuickScanDuration": 0, "LastFullScan": "2023-06-01T03:58:08.8251971Z", "LastFullScanDuration": 803, "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.189.100.126", "MACAddress": "6C-D0-D5-10-AC-F4", "ADSTRING": "", "Workgroup": "WORKGROUP", "DNSServer": "10.137.46.200", "BinType": "SMEINSTALL", "Email": "", "OtherAVProduct": "", "OtherAVProductVersion": "", "IsOtherAVEnabled": false, "IsOtherAVUpdated": false, "PrimaryBrowser": "IE", "PrimaryBrowserVersion": "9.11.9600.18125", "IsFirewallEnabled": true, "IsVirtualMachine": false, "IPV4": "10.189.100.126", "IPV6": "", "FQDN": "", "NTDOMAIN": "", "LDAPOID": "", "LDAPDN": "" }, "MasterKC": "AF3F-D09D-D676-4A81-98AC", "KC": "DBBB-590F-93C9-4123-A103", "MachineID": "74a927583b9f4bd98e029dbabc21071d74a927583b9f4bd98e029dbabc21071d:::cbd115f4fe784e4784a9cbd115f4fe784e4784a9:::cbd115f4fe784e4784a9cbd115f4fe784e4784a9", "LastChanged": "2023-05-28T07:58:08.8251971Z", "HostName": "Computer2", "IPAddress": "95.65.115.45", "ClientVersion": "9.0.13.58", "OS": "Windows Server 2012 (Build 9600) 64bit", "FirstSeen": "2023-04-01T07:58:08.8251971Z", "LastSeen": "2023-05-30T07:58:08.8251971Z", "TimesSeen": 24, "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": "9839-AF5D-5F28-49AD-B7DF" }, { "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": "61dd02a18c5e4d788ce8bcf9187ee04561dd02a18c5e4d788ce8bcf9187ee045:::29382efd02ec4c0b815629382efd02ec4c0b8156:::29382efd02ec4c0b815629382efd02ec4c0b8156" }, { "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": "2023-05-27T07:58:08.8408265Z" }, { "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": "17" }, { "name": "continuation", "in": "query", "description": "A continuation token for batched requests", "schema": { "type": "string", "nullable": false }, "x-position": 5, "example": "JRGcAXCF-puMo03H" } ], "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": "2023-05-01T07:58:08.8408265Z", "UninstalledDate": null, "AgentVersion": "1.3.3.35", "LastSeenDate": "2023-05-30T07:58:08.8408265Z", "LastModifiedDate": "2023-05-01T09:58:08.8408265Z", "TrafficCountLast24Hours": 2134, "DNSPolicyID": "3c18a71f-51bf-4782-a5c8-71da94cb64ee", "DNSPolicyName": "Securedns High Protection", "MachineID": "f00f69098a264f5988539c55591de216f00f69098a264f5988539c55591de216:::60d58e3709924c3ba6da60d58e3709924c3ba6da:::60d58e3709924c3ba6da60d58e3709924c3ba6da", "KC": "B4E0-40B2-BBE9-477C-95D3", "MasterKC": "6B25-4DF0-BDB1-4ADF-B467" }, { "HostName": "Computer2", "IsVirtualMachine": false, "DNSAgentStatus": "Installed", "InstalledDate": "2023-04-01T07:58:08.8408265Z", "UninstalledDate": null, "AgentVersion": "1.3.3.35", "LastSeenDate": "2023-05-28T07:58:08.8408265Z", "LastModifiedDate": "2023-04-01T11:58:08.8408265Z", "TrafficCountLast24Hours": 2134, "DNSPolicyID": "571f387a-fc45-4bc2-8d8f-ef3eecfd5e53", "DNSPolicyName": "Securedns High Protection", "MachineID": "9c27b6428f97476ea72d37ee4b868d499c27b6428f97476ea72d37ee4b868d49:::51bfb84a4aba498ba9a451bfb84a4aba498ba9a4:::51bfb84a4aba498ba9a451bfb84a4aba498ba9a4", "KC": "B4E0-40B2-BBE9-477C-95D3", "MasterKC": "6B25-4DF0-BDB1-4ADF-B467" } ], "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": "4239-C997-6A93-405E-B7B5" }, { "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": "2023-05-27T00: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": "EndpointsSeenInLast30Days", "EffectiveDate": "2023-05-26T00:00:00Z", "GSMKey": "42yattjly6udb8emw2e3" }, "GSM": { "GSMConsoleName": "GSM MDQ9272R5C", "LicenseType": "Full", "ExpiryDate": "2025-05-14T21:09:08.9345715Z", "TotalSitesWithoutTrial": 200, "TotalTrialSites": 1, "TotalEndpointsWithoutTrial": 5910, "TotalTrialEndpoints": 7 } } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/4239-C997-6A93-405E-B7B5" } ] } }, "/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": "7FF9-ED23-BA9B-43B4-A96D" }, { "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": "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": "2023-05-27T00: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": "ActiveEndpoints", "EffectiveDate": "2023-05-08T00:00:00Z", "GSMKey": "w49c29t6h9dsand37667" }, "Sites": [ { "SiteId": "4cf8631b-2785-2402-6a20-339a82d64306", "SiteKey": "nsrmzahbk3tvwnsgdr6e", "SiteName": "Site 9D1Y50XXN1", "LicenseType": "Full", "ExpiryDate": "2026-02-04T13:03:08.9970758Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-12T07:58:08.9970758Z", "TotalEndpoints": 1537 }, { "SiteId": "3be51b89-4f3e-1655-258c-2f20e84b7461", "SiteKey": "2wcmm9vyph27ktj13r9m", "SiteName": "Site UXTKOPJSBU", "LicenseType": "Trial", "ExpiryDate": "2024-06-13T04:31:08.9970758Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-04T07:58:08.9970758Z", "TotalEndpoints": 1907 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/7FF9-ED23-BA9B-43B4-A96D/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": "8786-FE3F-30E7-4AAE-86A1" }, { "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": "3418-C1E3-4C97-4BBA-ADC3" }, { "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": "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": "2023-05-27T00: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": "2023-05-08T00:00:00Z", "GSMKey": "w49c29t6h9dsand37667" }, "Sites": [ { "SiteId": "4cf8631b-2785-2402-6a20-339a82d64306", "SiteKey": "nsrmzahbk3tvwnsgdr6e", "SiteName": "Site 9D1Y50XXN1", "LicenseType": "Full", "ExpiryDate": "2026-02-04T13:03:08.9970758Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-12T07:58:08.9970758Z", "TotalEndpoints": 1537 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/8786-FE3F-30E7-4AAE-86A1/sites/3418-C1E3-4C97-4BBA-ADC3" } ] } }, "/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": "5C6B-E20B-B432-4E3B-BD58" }, { "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": "2023-05-27T00:00:00Z" }, { "name": "continuation", "in": "query", "description": "The continuation token for batched requests.", "schema": { "type": "string", "nullable": false }, "x-position": 4, "example": "-FUiCyT4JEyWWE3O" } ], "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": "bDYl0mQjnWRHqmT4", "SiteKeyFilter": null, "ReportType": "ActiveEndpointsWithoutHidden", "EffectiveDate": "2023-05-30T00:00:00Z", "GSMKey": "d98bdsqmk273p6mxx7mt" }, "Endpoints": [ { "MachineId": "4a2744c05a38aed2afe01a6fe87814ebf9f7aed5945cc63906b0b8ca439bd4f0:::b781e57c187c4a284e8a9ef7d53752844404d2aa:::b781e57c187c4a284e8a9ef7d53752844404d2aa", "SiteId": "7af10dc4-7a5a-76ea-177d-02fd3a897b5b", "SiteKey": "lwbaq71kq2scjveap8ag", "HostName": "NODE66P3UM9WU4", "FriendlyHostName": "FRIENDLY-NODE66P3UM9WU4", "LastSeen": "2023-05-17T08:11:09.0439621Z", "DeviceType": "MAC", "OS": "Windows Server 2016 (Build 14393) 64bit", "IsHidden": false, "IsDeactivated": false, "IsTrial": false, "ActivationStatusTime": "2023-05-15T01:14:09.0439621Z" }, { "MachineId": "a980d3cce08f8f2d750245ae9ddb96989146a7350f435b10a96a8305f96f6127:::6f56ab2f2a25079ecc1f0f051f7013ffccc56a5e:::6f56ab2f2a25079ecc1f0f051f7013ffccc56a5e", "SiteId": "37506d0b-3715-44a9-7339-0d3a6a1f5753", "SiteKey": "krashwagqr89nzif46zg", "HostName": "NODEYW92Q49UOL", "FriendlyHostName": "FRIENDLY-NODEYW92Q49UOL", "LastSeen": "2023-05-15T14:18:09.0439621Z", "DeviceType": "MAC", "OS": "Windows Server 2016 (Build 14393) 64bit", "IsHidden": false, "IsDeactivated": false, "IsTrial": true, "ActivationStatusTime": "2023-05-20T19:59:09.0439621Z" } ] } } } } }, "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": "B21E-0194-CA0D-4075-B43D" }, { "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": "0083-44D8-EE48-42EF-9815" }, { "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": "2023-05-27T00:00:00Z" }, { "name": "continuation", "in": "query", "description": "The continuation token for batched requests.", "schema": { "type": "string", "nullable": false }, "x-position": 5, "example": "yLBjQEF1Gh3e-8wr" } ], "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": "twNYtGrx015NzXKK", "SiteKeyFilter": null, "ReportType": "EndpointsSeenInLast30Days", "EffectiveDate": "2023-05-22T00:00:00Z", "GSMKey": "eovo20kyv5yxe5vjm7yw" }, "Endpoints": [ { "MachineId": "1124a0af975af11efdee5c622a1310473ae4824cb53f3d8b445d58b5a01ff6e9:::3e753c6d813097f525ecb62ae99704d46ab45278:::3e753c6d813097f525ecb62ae99704d46ab45278", "SiteId": "74a9a192-3ea0-26b3-1a68-281201d55579", "SiteKey": "zhc14vse4212owg62hj7", "HostName": "NODESR3NGLXIPC", "FriendlyHostName": "FRIENDLY-NODESR3NGLXIPC", "LastSeen": "2023-05-14T06:51:09.0595765Z", "DeviceType": "MAC", "OS": "Windows Server 2016 (Build 14393) 64bit", "IsHidden": false, "IsDeactivated": false, "IsTrial": true, "ActivationStatusTime": "2023-05-16T08:24:09.0595765Z" }, { "MachineId": "74c4cf88cd50b1f60c76beb14aad62cc78cf262c27301d80ff31ef898a024a19:::19825f3a9b44ab0619e7ebd7f37760776ae755b0:::19825f3a9b44ab0619e7ebd7f37760776ae755b0", "SiteId": "5fda7101-4b8f-3e59-1b9c-5ca7fa1124ad", "SiteKey": "63xuby1yxn0bhdr1jvi1", "HostName": "NODE5HE7NJ4OOK", "FriendlyHostName": "FRIENDLY-NODE5HE7NJ4OOK", "LastSeen": "2023-05-07T08:40:09.0595765Z", "DeviceType": "MAC", "OS": "Windows Server 2016 (Build 14393) 64bit", "IsHidden": false, "IsDeactivated": false, "IsTrial": false, "ActivationStatusTime": "2023-05-17T10:21:09.0595765Z" } ] } } } } }, "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": "4E6C-D6BD-DE09-4D89-9EDD" }, { "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": "2023-05-27T00: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": "2023-05-08T00:00:00Z", "GSMKey": "1owi2zvbbqic4stq7sic" }, "GSM": { "GSMConsoleName": "GSM SCFLHK4QVP", "GSMLicenseType": "Full", "GSMExpiryDate": "2023-12-28T11:59:09.0908284Z", "DNSPEnabled": true, "DNSPLicenseType": "Full", "DNSPExpiryDate": "2025-09-21T04:24:09.0908284Z", "TotalSitesWithoutDNSP": 310, "TotalSitesWithDNSPFull": 53, "TotalSitesWithDNSPTrial": 71, "TotalDNSPDevicesProxyFull": 575, "TotalDNSPDevicesProxyTrial": 564, "TotalDNSPDevicesActualFull": 552, "TotalDNSPDevicesActualTrial": 600, "TotalDNSPAgentlessRequestsFull": 3510000, "TotalDNSPAgentlessRequestsTrial": 2460000, "TotalDNSPAgentsFull": 435, "TotalDNSPAgentsTrial": 483 } } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/4E6C-D6BD-DE09-4D89-9EDD/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": "8ED8-1397-E815-4F34-ABEF" }, { "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": "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": 3, "example": "2023-05-27T00: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": "DevicesSeen", "EffectiveDate": "2023-05-26T00:00:00Z", "GSMKey": "nsg4vbxbvyk51cjun0rs" }, "Sites": [ { "SiteId": "03f61d61-14cc-1b5d-6b65-57058a8c0d3e", "SiteKey": "1e0tgrbocngfsrwr78h4", "SiteName": "Site CIXN2ZFST5", "SiteLicenseType": "Full", "SiteExpiryDate": "2025-01-30T02:51:09.1221019Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-13T07:58:09.1221019Z", "DNSPEnabled": true, "DNSPLicenseType": "Trial", "DNSPExpiryDate": "2025-12-07T21:41:09.1221019Z", "TotalDNSPDevicesProxy": 20, "TotalDNSPDevicesActual": 14, "TotalDNSPAgentlessRequests": 300000, "TotalDNSPAgents": 4 }, { "SiteId": "2adff655-2996-3438-1256-3e6b3a6c39e1", "SiteKey": "juzuiix4atrn1qmt4g78", "SiteName": "Site I886QO5ES1", "SiteLicenseType": "Full", "SiteExpiryDate": "2023-06-24T20:43:09.1221019Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-06T07:58:09.1221019Z", "DNSPEnabled": true, "DNSPLicenseType": "Full", "DNSPExpiryDate": "2025-11-05T15:48:09.1221019Z", "TotalDNSPDevicesProxy": 24, "TotalDNSPDevicesActual": 12, "TotalDNSPAgentlessRequests": 60000, "TotalDNSPAgents": 10 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/8ED8-1397-E815-4F34-ABEF/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": "0646-B637-4A6D-49DC-9CE4" }, { "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": "E28D-9EEA-2499-4473-8DA6" }, { "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": "2023-05-27T00: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": "DevicesSeen", "EffectiveDate": "2023-05-31T00:00:00Z", "GSMKey": "grhnfayl7cuwcew885vl" }, "Sites": [ { "SiteId": "54a59bc9-31f7-632b-5fca-639109b8042f", "SiteKey": "sx09ecynpjh5c2bavfxw", "SiteName": "Site 88Z14OBYRW", "SiteLicenseType": "Trial", "SiteExpiryDate": "2024-04-03T10:07:09.1377011Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-04T07:58:09.1377011Z", "DNSPEnabled": true, "DNSPLicenseType": "Full", "DNSPExpiryDate": "2023-10-26T09:04:09.1377011Z", "TotalDNSPDevicesProxy": 17, "TotalDNSPDevicesActual": 37, "TotalDNSPAgentlessRequests": 630000, "TotalDNSPAgents": 16 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/0646-B637-4A6D-49DC-9CE4/sites/E28D-9EEA-2499-4473-8DA6/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": "FD3D-D30B-1CA4-4ABE-8617" }, { "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": "2023-05-27T00: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": "UsersSeenInLast30Days", "EffectiveDate": "2023-05-27T00:00:00Z", "GSMKey": "vfilnvtsre50rwyu1onz" }, "GSM": { "GSMConsoleName": "GSM 3S8EFKI9JW", "GSMLicenseType": "Full", "GSMExpiryDate": "2026-02-19T08:25:09.1845914Z", "WSATEnabled": true, "WSATLicenseType": "Full", "WSATExpiryDate": "2023-11-22T23:29:09.1845914Z", "TotalSitesWithoutWSAT": 284, "TotalSitesWithWSATFull": 229, "TotalSitesWithWSATTrial": 6, "TotalWSATFullUsers": 2691, "TotalWSATTrialUsers": 4562 } } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/FD3D-D30B-1CA4-4ABE-8617/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": "44D8-90D2-EF33-493E-98DA" }, { "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": "2023-05-27T00: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": "2023-05-03T00:00:00Z", "GSMKey": "7mhb900is67j9imifi0y" }, "Sites": [ { "SiteId": "5a664294-55f2-6eac-250b-571f517a47fb", "SiteKey": "shtvdey7bcplbjxygzgg", "SiteName": "Site SFRWLOSCSM", "SiteLicenseType": "Trial", "SiteExpiryDate": "2024-07-21T14:32:09.2158537Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-20T07:58:09.2158537Z", "WSATEnabled": true, "WSATLicenseType": "Trial", "WSATExpiryDate": "2023-07-21T00:06:09.2158537Z", "TotalWSATUsers": 2 }, { "SiteId": "725678f1-0e05-536f-27e2-0e30911b16a0", "SiteKey": "lndfwbsfesbm06kzvvoy", "SiteName": "Site 89JMI9JS3C", "SiteLicenseType": "Full", "SiteExpiryDate": "2024-07-11T23:46:09.2158537Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-12T07:58:09.2158537Z", "WSATEnabled": true, "WSATLicenseType": "Trial", "WSATExpiryDate": "2023-07-22T15:05:09.2158537Z", "TotalWSATUsers": 32 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/44D8-90D2-EF33-493E-98DA/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": "D6DF-870E-25CF-432B-BD7B" }, { "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": "8BCC-2463-AFDD-4209-90EB" }, { "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": "2023-05-27T00: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": "2023-05-03T00:00:00Z", "GSMKey": "rpcuwdhlk5lyk7nh9qp6" }, "Sites": [ { "SiteId": "612590ba-6151-009e-05eb-3cb77c8b30f8", "SiteKey": "gwcpcdn6kwz3di0igzid", "SiteName": "Site WEHODOALL2", "SiteLicenseType": "Full", "SiteExpiryDate": "2024-09-08T10:47:09.2314759Z", "SiteState": "active", "SiteStateChangedDate": "2023-05-10T07:58:09.2314759Z", "WSATEnabled": true, "WSATLicenseType": "Trial", "WSATExpiryDate": "2025-06-01T06:34:09.2314759Z", "TotalWSATUsers": 11 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "SkyStatus.Reporting" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/status/reporting/gsm/D6DF-870E-25CF-432B-BD7B/sites/8BCC-2463-AFDD-4209-90EB/wsat" } ] } }, "/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": "6449-DD96-73A8-4ECC-90B5" } ], "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/6449-DD96-73A8-4ECC-90B5/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": "B022-48D3-5828-4D26-B0BF" }, { "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": "2023-05-29T07:58:09.4033252Z", "StatusChangeDate": "2023-06-01T00:58:09.4033252Z" } } } } }, "security": [ { "UnityAPISecurity": [ "Console.Access" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/access/gsm/B022-48D3-5828-4D26-B0BF/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": "DB6E-E1D9-3D68-4231-A650" } ], "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": "2023-01-01T07:58:09.5283233Z", "EndDate": "2024-06-01T07:58:09.5283233Z", "RemainingDays": 151, "LicenseType": "Full", "TotalSeatsAllowed": 800, "TotalSites": 500, "DeactivatedSites": 14, "CompanyEmail": "test1@webroot.com", "CompanyPhone": "07179506", "CompanyAddress": "", "Modules": [ { "Type": "DNSP", "Seats": 800, "LicenseType": "Full", "EndDate": "2024-06-01T07:58:09.5283233Z" }, { "Type": "WSAT", "Seats": 800, "LicenseType": "Full", "EndDate": "2024-06-01T07:58:09.5283233Z" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/DB6E-E1D9-3D68-4231-A650" } ] } }, "/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": "53FA-F787-ED9B-4C1B-8BBC" }, { "name": "siteKeycode", "in": "path", "required": true, "description": "The site keycode to look up.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "5817-8B1F-73A4-4EAB-B924" } ], "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": "d4eacd1a-ab06-4668-bca4-5bbcdf592a11", "SiteName": "Site 1", "SiteType": "R", "TotalEndpoints": 24, "PCsInfected24": 0, "AccountKeyCode": "3928-8E41-3FE5-47C8-8091", "DevicesAllowed": 100, "MobileSeats": 5, "Deactivated": false, "Suspended": false, "EndDate": "2023-12-01T07:58:09.6533318Z", "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": "4061ad79-f915-46dc-b092-2749a4e14401", "PolicyName": "Test policy", "PolicyDescription": "Sample policy for testing", "Emails": "test@webroot.com", "AccessLevel": 128, "Modules": [ { "Type": "DNSP", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.6533318Z" }, { "Type": "WSAT", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.6533318Z" } ] } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/53FA-F787-ED9B-4C1B-8BBC/lookupsite/5817-8B1F-73A4-4EAB-B924" } ] } }, "/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": "63F7-3990-624D-4F52-8C9F" } ], "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": "7B97-E547-00C1-4242-A6BC", "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/63F7-3990-624D-4F52-8C9F/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": "0345-8A9A-2298-475E-99F4" }, { "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": "72da6326-af36-49b6-bad8-6f21d638ec33" } ], "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": "4479-635E-789F-4C3F-9411", "SiteId": "d5426d66-7c96-4ec3-9773-169224dd1a04", "AccountKeyCode": "C6CA-98B0-D53D-42FD-AFD2", "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/0345-8A9A-2298-475E-99F4/sites/72da6326-af36-49b6-bad8-6f21d638ec33/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": "9D05-3497-914A-44B4-BBF5" } ], "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": "c2d726f2-7304-49e1-92d0-cf31acc5a74b", "SiteName": "Site 1", "SiteType": "R", "TotalEndpoints": 24, "PCsInfected24": 0, "AccountKeyCode": "DE47-000C-A102-49B8-B010", "DevicesAllowed": 100, "MobileSeats": 5, "Deactivated": false, "Suspended": false, "EndDate": "2023-12-01T07:58:09.7158322Z", "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": "217e3121-93d2-40bc-9373-8e5dca360a8f", "PolicyName": "Test policy", "PolicyDescription": "Sample policy for testing", "Emails": "test@webroot.com", "AccessLevel": 128, "Modules": [ { "Type": "DNSP", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.7158322Z" }, { "Type": "WSAT", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.7158322Z" } ] }, { "SiteId": "c97b4aca-a3e5-473f-a66b-628b3bc7c413", "SiteName": "Site 2", "SiteType": "R", "TotalEndpoints": 24, "PCsInfected24": 0, "AccountKeyCode": "44C6-B6E7-6A70-4AFA-A992", "DevicesAllowed": 100, "MobileSeats": 5, "Deactivated": false, "Suspended": false, "EndDate": "2024-06-01T07:58:09.7158322Z", "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": "5389f4f1-5635-447f-9cc8-e4cf7902e404", "PolicyName": "Test policy", "PolicyDescription": "Sample policy for testing", "Emails": "test@webroot.com", "AccessLevel": 128, "Modules": [ { "Type": "DNSP", "LicenseType": "Trial", "EndDate": "2024-06-01T07:58:09.7158322Z" }, { "Type": "WSAT", "LicenseType": "Trial", "EndDate": "2024-06-01T07:58:09.7158322Z" } ] } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/9D05-3497-914A-44B4-BBF5/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": "038D-E5D6-6BDD-4C09-9F2A" } ], "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": "602f6480-1f39-455d-ad84-5713d29ca611", "Emails": "test@webroot.com", "Trial": false, "Modules": [ { "Type": "DNSP", "LicenseType": "Trial" }, { "Type": "WSAT", "LicenseType": "Trial" } ] } } }, "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": "9962-BE71-7787-4555-A0CE", "SiteId": "95ba321e-f10b-41cd-ab81-1879ff6f4292", "PCAccess": 128, "MSAccess": 1 } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/038D-E5D6-6BDD-4C09-9F2A/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": "E4F6-19FD-DA40-47D3-9DF6" }, { "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": "a79bb408-6ee3-4f9d-b9a4-3b73976f1e1b" } ], "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": "e00a98a3-5d32-4f2e-bb46-5e7f320e92f2", "SiteName": "Site 1", "SiteType": "R", "TotalEndpoints": 24, "PCsInfected24": 0, "AccountKeyCode": "5F98-BEC1-BDCB-4625-BC8D", "DevicesAllowed": 100, "MobileSeats": 5, "Deactivated": false, "Suspended": false, "EndDate": "2023-12-01T07:58:09.7314585Z", "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": "52344c48-62a2-4ca0-86e6-645ac8d97665", "PolicyName": "Test policy", "PolicyDescription": "Sample policy for testing", "Emails": "test@webroot.com", "AccessLevel": 128, "Modules": [ { "Type": "DNSP", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.7314585Z" }, { "Type": "WSAT", "LicenseType": "Trial", "EndDate": "2023-12-01T07:58:09.7314585Z" } ] } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/E4F6-19FD-DA40-47D3-9DF6/sites/a79bb408-6ee3-4f9d-b9a4-3b73976f1e1b" } ] }, "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": "CA3E-6C6B-303A-4EFB-9792" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "91ba5ecf-e1ac-461a-ade1-beb0442411fb" } ], "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": "e28686c0-3b27-4318-90ee-b84748ded4e0", "Emails": "test@webroot.com", "Modules": [ { "Type": "DNSP", "LicenseType": "Trial", "Enable": true }, { "Type": "WSAT", "LicenseType": "Trial", "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/CA3E-6C6B-303A-4EFB-9792/sites/91ba5ecf-e1ac-461a-ade1-beb0442411fb" } ] } }, "/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": "353B-D0D9-C9AA-4AFB-BDEF" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "8d06b4ba-e372-4bee-8556-d05dea8f7260" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/353B-D0D9-C9AA-4AFB-BDEF/sites/8d06b4ba-e372-4bee-8556-d05dea8f7260/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": "7C7B-91FC-199B-4B57-B14C" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "0b069083-e265-40f7-809b-4c187d67b0a0" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/7C7B-91FC-199B-4B57-B14C/sites/0b069083-e265-40f7-809b-4c187d67b0a0/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": "4017-707B-DB8B-4FD0-99AB" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "db50783d-b269-4a35-868c-ced7d16a567b" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/4017-707B-DB8B-4FD0-99AB/sites/db50783d-b269-4a35-868c-ced7d16a567b/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": "01F9-012F-DC32-49ED-BA79" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "88023d2d-5aa2-4a98-bb00-bf429cc69575" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/01F9-012F-DC32-49ED-BA79/sites/88023d2d-5aa2-4a98-bb00-bf429cc69575/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": "7DE5-E037-71AE-4C6E-802A" } ], "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": "4bc90934-975e-4e15-a74d-ce078e8a0ba1", "Email": "test1@webroot.com", "FirstName": "Test1", "LastName": "User1", "DisplayName": "Test1 User1", "MobileTel": "07431825", "OfficeTel": "01552115", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true }, { "UserId": "63f13b19-18bf-44bc-8ce9-e16746c2fa75", "Email": "test2@webroot.com", "FirstName": "Test2", "LastName": "User2", "DisplayName": "Test2 User2", "MobileTel": "07313519", "OfficeTel": "01175823", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/7DE5-E037-71AE-4C6E-802A/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": "98FA-CA01-7F6D-4019-A1E5" } ], "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": "19d63d6a-49bb-461e-9bf7-62ec93251778", "Email": "jdoe@domain.com", "FirstName": "Jane", "LastName": "Doe", "DisplayName": "Jane Doe", "MobileTel": "07356027", "OfficeTel": "01453640", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/98FA-CA01-7F6D-4019-A1E5/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": "FFEF-E21D-779C-47C7-B6F9" }, { "name": "userId", "in": "path", "required": true, "description": "Identifier of the admin to query information for.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "3a39f220-983d-45c1-bfbc-0c43d3d26678" } ], "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": "011510e6-9168-433c-b096-516c14ee037f", "Email": "test1@webroot.com", "FirstName": "Test1", "LastName": "User1", "DisplayName": "Test1 User1", "MobileTel": "07738922", "OfficeTel": "01588992", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/FFEF-E21D-779C-47C7-B6F9/admins/3a39f220-983d-45c1-bfbc-0c43d3d26678" } ] }, "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": "CC2B-5767-143A-45F5-B6ED" }, { "name": "userId", "in": "path", "required": true, "description": "Identifier of the admin to modify.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "204b2da3-385a-4b8b-8cc4-695e3c2455bb" } ], "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/CC2B-5767-143A-45F5-B6ED/admins/204b2da3-385a-4b8b-8cc4-695e3c2455bb" } ] }, "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": "6CA4-1F46-AAE9-4CE0-8F72" }, { "name": "userId", "in": "path", "required": true, "description": "Identifier of the admin to remove.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "ef9b9e60-eeee-4526-a8dd-c6fcc9a7037f" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/6CA4-1F46-AAE9-4CE0-8F72/admins/ef9b9e60-eeee-4526-a8dd-c6fcc9a7037f" } ] } }, "/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": "D5C2-152F-5B92-4572-9D08" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "14a4a875-fc64-4d03-9bc6-b18bd8b93c16" } ], "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": "bc557a65-51cd-41e6-8e6c-91d45f937b11", "Email": "test1@webroot.com", "FirstName": "Test1", "LastName": "User1", "DisplayName": "Test1 User1", "MobileTel": "07865927", "OfficeTel": "01738059", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true }, { "UserId": "ea935a85-43e8-4e98-9359-5944a07c9146", "Email": "test2@webroot.com", "FirstName": "Test2", "LastName": "User2", "DisplayName": "Test2 User2", "MobileTel": "07854212", "OfficeTel": "01163400", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/D5C2-152F-5B92-4572-9D08/sites/14a4a875-fc64-4d03-9bc6-b18bd8b93c16/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": "F5EF-9A57-62F9-42A8-9048" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "3c320288-5cb3-4260-b704-3e7990c2748d" } ], "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": "9387d02d-c62c-40c5-ae6b-dd383e827db2", "Email": "jdoe@domain.com", "FirstName": "Jane", "LastName": "Doe", "DisplayName": "Jane Doe", "MobileTel": "07740015", "OfficeTel": "01370295", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/F5EF-9A57-62F9-42A8-9048/sites/3c320288-5cb3-4260-b704-3e7990c2748d/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": "5926-B246-FCCF-4EF6-9233" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "aea2ecad-3f73-450b-a83e-fb53817b15e1" } ], "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": "8c9a3d19-3705-40b7-a91f-13d716edb621", "AccessLevel": 128 }, { "UserId": "25f21c2d-7d79-4eb6-950a-f27cf95c65f5", "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/5926-B246-FCCF-4EF6-9233/sites/aea2ecad-3f73-450b-a83e-fb53817b15e1/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": "941C-65AA-59D7-4C07-B3DC" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "1b247954-8070-4ab4-a5a3-cc708558becd" }, { "name": "userId", "in": "path", "required": true, "description": "The admin identifier to query information for.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "fd7794d6-8553-4b64-9e34-cd33ad63e0a8" } ], "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": "a95938b3-5e67-4a82-8955-d1412633df56", "Email": "test1@webroot.com", "FirstName": "Test1", "LastName": "User1", "DisplayName": "Test1 User1", "MobileTel": "07594209", "OfficeTel": "01685015", "UserState": "Activated", "AccessLevel": 128, "MSPUser": false, "Confirmed": true } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/941C-65AA-59D7-4C07-B3DC/sites/1b247954-8070-4ab4-a5a3-cc708558becd/admins/fd7794d6-8553-4b64-9e34-cd33ad63e0a8" } ] }, "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": "996E-5377-771A-4567-997D" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "c371a257-1ad5-40c3-9761-620095dd4167" }, { "name": "userId", "in": "path", "required": true, "description": "The identifier of the admin to modify.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "3142e75c-c3bc-48b4-b25e-cf65c8ae1d6a" } ], "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/996E-5377-771A-4567-997D/sites/c371a257-1ad5-40c3-9761-620095dd4167/admins/3142e75c-c3bc-48b4-b25e-cf65c8ae1d6a" } ] }, "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": "CCF8-9BE2-B26F-4D45-8A36" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "3a1726ad-07a2-4ebf-bbc2-2e6ab989f700" }, { "name": "userId", "in": "path", "required": true, "description": "The identifier of the admin to remove.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "2b1818d1-3e18-4a04-943d-05b3802a531c" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/CCF8-9BE2-B26F-4D45-8A36/sites/3a1726ad-07a2-4ebf-bbc2-2e6ab989f700/admins/2b1818d1-3e18-4a04-943d-05b3802a531c" } ] } }, "/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": "F941-57AE-C486-4315-8AFD" } ], "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": "fc581e91-1232-4f80-93a4-13d54465fee3", "DateCreated": "2023-04-01T07:58:10.1846015Z", "PolicyName": "Test Policy 1", "LivePolicy": true, "PendingPolicy": false, "PolicyDescription": "Description of test policy 1", "Deleted": false, "Canned": false, "DefaultSetting": false, "PolicyType": "Advanced" }, { "PolicyId": "38beb091-7ded-437c-877a-52adac1fae23", "DateCreated": "2023-02-01T07:58:10.1846015Z", "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/F941-57AE-C486-4315-8AFD/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": "A460-B889-D911-4F86-9ADB" }, { "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": "7146776c-371a-4609-b2fb-e9680e975c8f" } ], "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": "ea729322-baaa-4401-8914-4f27bd56dffb", "DateCreated": "2023-04-01T07:58:10.200226Z", "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/A460-B889-D911-4F86-9ADB/policies/7146776c-371a-4609-b2fb-e9680e975c8f" } ] } }, "/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": "C64E-1DB9-398A-48E9-86ED" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "44524a10-5117-43c2-8561-60be0397ffad" } ], "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": "fdd9c1a0-53b2-4119-bb57-d369ebdc0813", "DateCreated": "2023-04-01T07:58:10.2471061Z", "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": "b011e999-d803-498c-bcd3-37a6a2238f77", "DateCreated": "2023-02-01T07:58:10.2471061Z", "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/C64E-1DB9-398A-48E9-86ED/sites/44524a10-5117-43c2-8561-60be0397ffad/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": "D76E-5D83-3FCD-41F1-BC48" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "cab4f51d-401b-429f-8d4a-96c6c787e70b" }, { "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": "8fe167d1-9956-4128-934f-26f7479bcadf" } ], "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": "ad537755-3d30-4cc1-9c7b-f8e307d08456", "DateCreated": "2023-04-01T07:58:10.2627111Z", "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/D76E-5D83-3FCD-41F1-BC48/sites/cab4f51d-401b-429f-8d4a-96c6c787e70b/policies/8fe167d1-9956-4128-934f-26f7479bcadf" } ] } }, "/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": "1DF7-CE18-7F5D-4F1E-AC44" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "12a5e9ac-97cc-4ed6-bbf5-ba1d09fe56b8" } ], "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": 19, "GroupCode": "-600661176", "GroupId": "01c95043-6747-4453-9055-b143c89ac48e", "GroupName": "Test Group 1", "GroupDescription": "Description of test group 1", "GroupPolicyId": "fbdc2cec-68e2-4192-8988-8b2ddc626086", "GroupPolicyName": "Test Policy 1" }, { "Endpoints": 67, "GroupCode": "-403337065", "GroupId": "51bc71bb-ae5d-4c49-b354-e8127533a9d7", "GroupName": "Test Group 2", "GroupDescription": "Description of test group 2", "GroupPolicyId": "aa1ac236-7281-4f42-80b1-8f937fad2763", "GroupPolicyName": "Test Policy 2" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/1DF7-CE18-7F5D-4F1E-AC44/sites/12a5e9ac-97cc-4ed6-bbf5-ba1d09fe56b8/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": "02CA-BD44-6738-41D6-B0F0" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "8f56f3d2-3ca9-4350-91dc-052be3e69d82" } ], "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": "05ba96e8-7dba-481f-a625-b25e3f6c21c8" } } }, "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": "3e686672-164f-4a93-a9d7-04ae0b1396cb" } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/02CA-BD44-6738-41D6-B0F0/sites/8f56f3d2-3ca9-4350-91dc-052be3e69d82/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": "A11E-9240-39BF-492F-B19A" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "f27d89c9-3e67-4cf1-a43b-fa3beeb14c91" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "572b91e4-9dee-4749-902c-694b4cf9c330" } ], "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": 54, "GroupCode": "-404917094", "GroupId": "7e7e7369-629a-46ae-898e-21ceaeec7654", "GroupName": "Test Group 1", "GroupDescription": "Description of test group 1", "GroupPolicyId": "513d896d-a785-484d-9fb8-f297f4ee525b", "GroupPolicyName": "Test Policy 1" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/A11E-9240-39BF-492F-B19A/sites/f27d89c9-3e67-4cf1-a43b-fa3beeb14c91/groups/572b91e4-9dee-4749-902c-694b4cf9c330" } ] }, "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": "C815-957A-CB62-48FB-B9E8" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "69b78140-595d-4733-a9cc-f49bc60f4fc9" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "5d318074-8ae1-4fc7-a80e-fb4dff0f9be0" } ], "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": "4b21c1ce-9d4c-468c-8b54-6ebba20a3bec" } } }, "required": true, "x-position": 4 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/C815-957A-CB62-48FB-B9E8/sites/69b78140-595d-4733-a9cc-f49bc60f4fc9/groups/5d318074-8ae1-4fc7-a80e-fb4dff0f9be0" } ] }, "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": "F020-90E5-8AA3-458C-BCC5" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "ace6ef6d-e2b3-4944-b5a3-2808a1f1bf90" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "1c8e673d-da43-4bc3-a389-4f3e3caff6b3" }, { "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": "056fd860-4414-486c-af96-ffda034b303f" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/F020-90E5-8AA3-458C-BCC5/sites/ace6ef6d-e2b3-4944-b5a3-2808a1f1bf90/groups/1c8e673d-da43-4bc3-a389-4f3e3caff6b3" } ] } }, "/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": "D902-17FD-91DC-404D-8CB0" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "b691f198-45e0-4cd4-812e-63d116c46a86" }, { "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": "deactivated" }, { "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": "3F9DF7EFA177464BA78802E43A357DB8:::3A13CF5E194E40AFA7475024016E3119:::3A13CF5E194E40AFA7475024016E3119" }, { "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": "48" } ], "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": "b4fe9f34-f56c-45a7-b59a-502119886e49", "HostName": "MyComputer1", "GroupName": "Test Group", "FirstSeen": "2023-01-01T07:58:10.4970864Z", "LastSeen": "2023-01-01T07:58:10.4970864Z", "AgentVersion": "9.0.13.58", "LicenseKey": "2821-B310-850B-4501-8DCD", "Expired": false, "LastChangesUserId": "faae0f30-82c5-45b9-abaf-0dd27726ec7c", "MachineId": "EB70D70376F84C32947C63635447DBC3:::0B303DDA49414E9DAD0AAC9ECFCFFDF7:::0B303DDA49414E9DAD0AAC9ECFCFFDF7", "PolicyId": "7ef2e1cf-b4cd-4b85-900e-4d6e4fee3d55", "VM": false, "AgentLanguage": "en", "FriendlyPCName": "", "GroupId": "484059dc-75cf-4bba-bd00-71b41a70b7fa", "PolicyName": "Test Policy", "LastInfected": "2023-03-01T07:58:10.4970864Z", "InfectedNow": false, "NumUsers": 1, "MaxUsers": 2, "InternalIP": "10.0.140.105", "MACAddress": "1B-6E-58-28-E1-2E", "ADDomain": "domain.webroot.com", "ADOU": "Webroot.Computers", "Workgroup": "WORKGROUP", "CurrentUser": "Paul", "Mac": false, "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit", "LastPublicIP": "95.68.107.175", "Deactivated": false, "LastScanSeq": "1257078993", "ModifiedDate": "2023-05-25T07:58:10.4970864Z" }, { "Seq": 2, "EndpointId": "78c76c37-0499-4d47-a506-f2b5c67f6eca", "HostName": "MyComputer2", "GroupName": "Test Group", "FirstSeen": "2022-08-01T07:58:10.4970864Z", "LastSeen": "2022-08-01T07:58:10.4970864Z", "AgentVersion": "9.0.13.58", "LicenseKey": "2821-B310-850B-4501-8DCD", "Expired": false, "LastChangesUserId": "0b700c17-04c1-4cf3-baf0-c7a47135e6dd", "MachineId": "97E174E8926A4B26B2F26DF2B0AED7C4:::AE9B0B4536004A1E945606E088A46051:::AE9B0B4536004A1E945606E088A46051", "PolicyId": "01692bdc-995c-482c-b5a4-dfc507d0a9f0", "VM": false, "AgentLanguage": "en", "FriendlyPCName": "", "GroupId": "2f9dadb9-153d-444a-a59b-737336b0bf2a", "PolicyName": "Test Policy", "LastInfected": "2022-12-01T07:58:10.4970864Z", "InfectedNow": false, "NumUsers": 1, "MaxUsers": 4, "InternalIP": "10.161.18.249", "MACAddress": "56-C2-A3-CE-89-1F", "ADDomain": "domain.webroot.com", "ADOU": "Webroot.Computers", "Workgroup": "WORKGROUP", "CurrentUser": "Paul", "Mac": false, "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit", "LastPublicIP": "95.148.175.139", "Deactivated": false, "LastScanSeq": "1566910968", "ModifiedDate": "2023-05-18T07:58:10.4970864Z" } ] } } } } }, "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": "9CB9-CA0F-ADB2-4957-BAD7" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "8572c73e-6149-48ba-87db-44737dc9ea32" } ], "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": "72328ac4-6092-4e4d-b068-21f1441390c3", "TargetGroupId": "3e73be4f-4aca-4a2d-9eaf-086dd6213694", "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/9CB9-CA0F-ADB2-4957-BAD7/sites/8572c73e-6149-48ba-87db-44737dc9ea32/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": "59F6-14FE-5F4D-40E8-ADCF" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "11c06f6b-e029-4703-bb8b-991d626af6c6" }, { "name": "endpointId", "in": "path", "required": true, "description": "The endpoint identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "0fafe02b-0619-4ccb-a597-5e3f4a56e367" } ], "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": "18dc8f16-0314-4c89-8658-71794ac0af33", "HostName": "MyComputer1", "GroupName": "Test Group", "FirstSeen": "2023-01-01T07:58:10.5127095Z", "LastSeen": "2023-01-01T07:58:10.5127095Z", "AgentVersion": "9.0.13.58", "LicenseKey": "9244-588C-7BF6-44A5-B1A9", "Expired": false, "LastChangesUserId": "c5e73ba3-e35f-49d4-87d1-dea71e61e596", "MachineId": "5490DB47A89947488BE4D841EB7DF61A:::AB303AAF979648C7BC019B51568F850B:::AB303AAF979648C7BC019B51568F850B", "PolicyId": "26d5c661-20e4-4be5-b4d9-e8ecef27e66b", "VM": false, "AgentLanguage": "en", "FriendlyPCName": "", "GroupId": "d8846cf3-07f0-473d-b36d-5342b7035830", "PolicyName": "Test Policy", "LastInfected": "2023-03-01T07:58:10.5127095Z", "InfectedNow": false, "NumUsers": 1, "MaxUsers": 2, "InternalIP": "10.137.107.136", "MACAddress": "73-65-11-C1-15-D4", "ADDomain": "domain.webroot.com", "ADOU": "Webroot.Computers", "Workgroup": "WORKGROUP", "CurrentUser": "Paul", "Mac": false, "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit", "LastPublicIP": "95.225.244.25", "Deactivated": false, "LastScanSeq": "1708330248", "ModifiedDate": "2023-05-25T07:58:10.5127095Z" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/59F6-14FE-5F4D-40E8-ADCF/sites/11c06f6b-e029-4703-bb8b-991d626af6c6/endpoints/0fafe02b-0619-4ccb-a597-5e3f4a56e367" } ] } }, "/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": "43B6-72FC-3199-463D-8F23" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "c86ed6dd-281c-4a91-a7a7-866846052547" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "132cf71c-94e2-48e0-bfcf-98b1ef9edbdc" }, { "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": "D" }, { "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": "41" } ], "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": "5f0d63e0-0607-4db5-90f6-7320bc5f4fe8", "HostName": "MyComputer1", "GroupName": "Test Group", "FirstSeen": "2023-01-01T07:58:10.528341Z", "LastSeen": "2023-01-01T07:58:10.528341Z", "AgentVersion": "9.0.13.58", "LicenseKey": "B1A2-1764-3B27-4D46-8A04", "Expired": false, "LastChangesUserId": "53ef64cb-a237-44e7-b2a9-ad702096379f", "MachineId": "F1A274BA33CC4C92B76D1A7AE7A45580:::6CAE0EE81AAE4F7B9061420B488DCDAD:::6CAE0EE81AAE4F7B9061420B488DCDAD", "PolicyId": "a43d5571-5391-423b-9caa-d46780e712c4", "VM": false, "AgentLanguage": "en", "FriendlyPCName": "", "GroupId": "a6fb27ba-f686-42ed-8b32-b874cb555f63", "PolicyName": "Test Policy", "LastInfected": "2023-03-01T07:58:10.528341Z", "InfectedNow": false, "NumUsers": 1, "MaxUsers": 2, "InternalIP": "10.198.183.197", "MACAddress": "B8-65-BB-82-D6-62", "ADDomain": "domain.webroot.com", "ADOU": "Webroot.Computers", "Workgroup": "WORKGROUP", "CurrentUser": "Paul", "Mac": false, "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit", "LastPublicIP": "95.192.87.110", "Deactivated": false, "LastScanSeq": "926296929", "ModifiedDate": "2023-05-25T07:58:10.528341Z" }, { "Seq": 2, "EndpointId": "5658637d-46aa-48f5-96b6-17f1fd5461a9", "HostName": "MyComputer2", "GroupName": "Test Group", "FirstSeen": "2022-08-01T07:58:10.528341Z", "LastSeen": "2022-08-01T07:58:10.528341Z", "AgentVersion": "9.0.13.58", "LicenseKey": "B1A2-1764-3B27-4D46-8A04", "Expired": false, "LastChangesUserId": "6652834a-a640-4412-93ab-7226937bda17", "MachineId": "5C5316E17D684A4382297899655EE32F:::3FCD8763ABB44A11A450A62AF32C5E45:::3FCD8763ABB44A11A450A62AF32C5E45", "PolicyId": "ab879669-9242-4072-9975-91db5c574e2f", "VM": false, "AgentLanguage": "en", "FriendlyPCName": "", "GroupId": "672d8c24-572e-416c-a496-ba2dadc4ef5e", "PolicyName": "Test Policy", "LastInfected": "2022-12-01T07:58:10.528341Z", "InfectedNow": false, "NumUsers": 1, "MaxUsers": 4, "InternalIP": "10.211.212.69", "MACAddress": "B8-A8-F1-B7-9F-F9", "ADDomain": "domain.webroot.com", "ADOU": "Webroot.Computers", "Workgroup": "WORKGROUP", "CurrentUser": "Paul", "Mac": false, "WindowsFullOS": "Windows 7 Service Pack 1 (Build 7601) 64bit", "LastPublicIP": "95.207.112.168", "Deactivated": false, "LastScanSeq": "805002519", "ModifiedDate": "2023-05-18T07:58:10.528341Z" } ] } } } } }, "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": "F1CF-0531-39F9-4A0B-9F37" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "3a4290d0-6dc9-4b66-85bc-f98cbba80ac6" } ], "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": "bd1f864b-c569-43f8-b894-29fcbcc12fbd,cdfc7d9c-fca1-4f18-8968-1dcb184124bb", "PolicyId": "edf1d032-41c7-41f9-99d5-3a6c1d55dc58" } } }, "required": true, "x-position": 3 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/F1CF-0531-39F9-4A0B-9F37/sites/3a4290d0-6dc9-4b66-85bc-f98cbba80ac6/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": "2DED-AFB3-1AEC-400D-84E6" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "f59e4da6-d0d7-47d3-adb1-5b8d7b079b13" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "1b47ef5a-5b32-4e40-beff-fd1477832767" } ], "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": "812fc025-a469-47ed-8321-d8d8812f54f6" } } }, "required": true, "x-position": 4 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/2DED-AFB3-1AEC-400D-84E6/sites/f59e4da6-d0d7-47d3-adb1-5b8d7b079b13/groups/1b47ef5a-5b32-4e40-beff-fd1477832767/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": "999D-E363-E7D4-4CF5-8420" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "fdc4fc48-9e52-4025-91f5-b50bf199e62c" } ], "requestBody": { "x-name": "commandInformation", "description": "Additional information for reactivating endpoints.", "content": { "application/json": { "schema": { "nullable": false, "oneOf": [ { "$ref": "#/components/schemas/SetCommandReOrDeactivateRequestModel" } ] }, "example": { "EndpointsList": "28a99173-8329-40c1-9ebd-c65bef8576ff,244352c3-d9f5-41c9-a7de-37ad7f55b3a7" } } }, "required": true, "x-position": 3 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/999D-E363-E7D4-4CF5-8420/sites/fdc4fc48-9e52-4025-91f5-b50bf199e62c/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": "38D9-FD62-81DD-41F1-8441" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "e684f7d7-d6da-4c2d-94bc-6ac95e1a7e9b" } ], "requestBody": { "x-name": "commandInformation", "description": "Additional information for deactivating endpoints.", "content": { "application/json": { "schema": { "nullable": false, "oneOf": [ { "$ref": "#/components/schemas/SetCommandReOrDeactivateRequestModel" } ] }, "example": { "EndpointsList": "36b5c042-2ee0-4116-910e-33d42122e237,2d133c32-59c6-429d-8527-e364cd9c525b" } } }, "required": true, "x-position": 3 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/38D9-FD62-81DD-41F1-8441/sites/e684f7d7-d6da-4c2d-94bc-6ac95e1a7e9b/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": "63D9-C360-79B9-47AD-8189" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "a25016c9-c222-466b-9861-b32d7b452d3f" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "2ded7c06-aa03-4218-9267-aeedf57b7106" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/63D9-C360-79B9-47AD-8189/sites/a25016c9-c222-466b-9861-b32d7b452d3f/groups/2ded7c06-aa03-4218-9267-aeedf57b7106/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": "0B51-88B4-9BC1-4594-9247" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "3f93f7a9-2e8e-4cce-9a9f-a78b2e07c211" }, { "name": "endpointId", "in": "query", "description": "The endpoint identifier to get the executed command for.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "a47000b6-3532-4f0a-aa56-755c6f3e030d" }, { "name": "command", "in": "query", "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\".", "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.", "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": "2023-05-02T07:58:10.7158411Z" }, { "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": "2023-06-01T07:58:10.7158411Z" }, { "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": "36" } ], "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": "2023-06-01T01:58:10.7158411Z", "EndpointId": "90c4879a-5fc9-447b-8911-1a2e18b01c61", "HostName": "MyComputer1", "StartDate": "2023-06-01T04:58:10.7158411Z", "EndDate": "2023-06-01T14:58:10.7158411Z", "Command": "scan", "Parameters": null, "CommandState": 1 }, { "DateRequested": "2023-06-01T00:58:10.7158411Z", "EndpointId": "14b2d4a5-9c99-465e-b474-ac3f60d96444", "HostName": "MyComputer2", "StartDate": "2023-06-01T05:58:10.7158411Z", "EndDate": "2023-06-01T15:58:10.7158411Z", "Command": "scan", "Parameters": null, "CommandState": 3 } ] } } } } }, "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": "7879-AF6C-AB94-4CF0-8D4D" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "4343f7f9-c49b-4f8f-a0ab-f233e2bd702f" }, { "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": "d27eed99-2da1-423d-a7c3-ca5a449a3273" }, { "name": "command", "in": "query", "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\".", "schema": { "type": "string", "nullable": false }, "x-position": 4, "example": "changekeycode" }, { "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.", "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": "2023-05-02T07:58:10.7470989Z" }, { "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": "2023-06-01T07:58:10.7470989Z" }, { "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": "9" } ], "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": "2023-06-01T01:58:10.7470989Z", "EndpointId": "aaa94888-f233-4e27-aab7-8a7fedbdc21f", "HostName": "MyComputer1", "StartDate": "2023-06-01T04:58:10.7470989Z", "EndDate": "2023-06-01T14:58:10.7470989Z", "Command": "scan", "Parameters": null, "CommandState": 1 }, { "DateRequested": "2023-06-01T00:58:10.7470989Z", "EndpointId": "c6c1fb7d-5b6a-4f45-8e7c-304e34e65ac6", "HostName": "MyComputer2", "StartDate": "2023-06-01T05:58:10.7470989Z", "EndDate": "2023-06-01T15:58:10.7470989Z", "Command": "scan", "Parameters": null, "CommandState": 2 } ] } } } } }, "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": "35B6-4FEA-71E5-4854-AA80" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "7441ef0f-706c-4b29-b2d5-0984542c5ba3" }, { "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": "f913003f-a431-4a7d-8641-30e3b2d57d5d" }, { "name": "command", "in": "query", "description": "Used to filter by command type. Valid values are \"scan\", \"cleanup\", \"uninstall\", \"changekeycode\", \"restart\".", "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.", "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": "2023-05-02T07:58:10.778344Z" }, { "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": "2023-06-01T07:58:10.778344Z" }, { "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": "3" } ], "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": "2023-06-01T01:58:10.778344Z", "EndpointId": "d419820c-110f-4abc-85c1-fe93d63f2b70", "HostName": "MyComputer1", "StartDate": "2023-06-01T04:58:10.778344Z", "EndDate": "2023-06-01T14:58:10.778344Z", "Command": "scan", "Parameters": null, "CommandState": 3 }, { "DateRequested": "2023-06-01T00:58:10.778344Z", "EndpointId": "3d7c4015-5f52-4c90-b3fc-8bda3f5541c7", "HostName": "MyComputer2", "StartDate": "2023-06-01T05:58:10.778344Z", "EndDate": "2023-06-01T15:58:10.778344Z", "Command": "scan", "Parameters": null, "CommandState": 2 } ] } } } } }, "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": "7C52-624C-564C-4DE2-A7AC" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "8fdc7059-e41c-44d3-980d-3ebb15bbe6e6" } ], "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": "cc5d9c97-a57a-42d4-aa93-792ee498391e,cb34d832-c427-4258-9d0f-f45bdd27f335", "Command": "changekeycode", "Parameters": "C5BB-A71A-AA86-431D-93A8" } } }, "required": true, "x-position": 3 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/7C52-624C-564C-4DE2-A7AC/sites/8fdc7059-e41c-44d3-980d-3ebb15bbe6e6/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": "7561-5A0D-FC32-4909-A72C" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "80ceea72-0f0e-46c2-823e-75be20ee2d67" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "eee00592-18f7-41c7-b74d-32e40f6ed10e" } ], "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": "F9D8-71F2-61E9-4019-B008" } } }, "required": true, "x-position": 4 }, "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/7561-5A0D-FC32-4909-A72C/sites/80ceea72-0f0e-46c2-823e-75be20ee2d67/groups/eee00592-18f7-41c7-b74d-32e40f6ed10e/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": "9E0B-3D07-BBC8-4665-A160" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "0198fd3d-1b99-44a0-beff-acc44f5c1670" }, { "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": "2023-05-02T07:58:10.9189791Z" }, { "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": "2023-06-01T07:58:10.9189791Z" }, { "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": "22" } ], "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": "2023-03-01T07:58:10.9189791Z", "EndDate": "2023-06-01T07:58:10.9189791Z", "ThreatRecords": [ { "EndpointId": "e0c998d7-bd6b-4ad1-b686-5d3e801b55e8", "MachineId": "AC524DF079DC40BAA6A6F2D46343EE10:::2E5178D3FC5E4137889B053DA9C8D82E:::2E5178D3FC5E4137889B053DA9C8D82E", "HostName": "MyComputer1", "FileName": "eicar.com", "PathName": "?:\\users\\user1\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9189791Z", "LastSeen": "2023-05-30T07:58:10.9189791Z", "ExtendedInfo": { "DwellTime": 845, "FileMD5": "C271CA565CD94C4A90C7D2903C7BF8DD", "FileSize": 68, "UserName": "User1", "IPAddress": "95.196.219.224", "Determination": "B", "FileVendor": "", "FileProduct": "", "FileVersion": "" } }, { "EndpointId": "57342dc6-2b01-4bf9-96c0-3f6fbd7ae42f", "MachineId": "B31588C818894C4098E4CDD6481A2A19:::CAF7563E3FA546978DAA2622E51FDDEA:::CAF7563E3FA546978DAA2622E51FDDEA", "HostName": "MyComputer2", "FileName": "eicar.com", "PathName": "?:\\users\\user2\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9189791Z", "LastSeen": "2023-05-30T07:58:10.9189791Z", "ExtendedInfo": { "DwellTime": 162, "FileMD5": "8E084D6AC35A4798842E0C7A7628E999", "FileSize": 68, "UserName": "User2", "IPAddress": "95.119.121.82", "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": "C98B-9550-7A2B-4A45-815D" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "2a237363-9233-4288-b55b-65fa204ac0d2" }, { "name": "groupId", "in": "path", "required": true, "description": "The group identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "ddbe133d-0326-492b-a1e4-e915fda5fe36" }, { "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": "2023-05-02T07:58:10.9346019Z" }, { "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": "2023-06-01T07:58:10.9346019Z" }, { "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": "20" } ], "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": "2023-03-01T07:58:10.9346019Z", "EndDate": "2023-06-01T07:58:10.9346019Z", "ThreatRecords": [ { "EndpointId": "dafce5ea-03cd-4ba6-8d2a-f37f8dde2d29", "MachineId": "4330A8C7D22B4302876E4FC18E668E03:::2B760B4C272744E2910C3B1CA43B16A9:::2B760B4C272744E2910C3B1CA43B16A9", "HostName": "MyComputer1", "FileName": "eicar.com", "PathName": "?:\\users\\user1\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9346019Z", "LastSeen": "2023-05-30T07:58:10.9346019Z", "ExtendedInfo": { "DwellTime": 994, "FileMD5": "BC109738F1FE463F90B26AD21489853B", "FileSize": 68, "UserName": "User1", "IPAddress": "95.230.28.42", "Determination": "B", "FileVendor": "", "FileProduct": "", "FileVersion": "" } }, { "EndpointId": "b12ee92d-9258-4552-9771-cf538bc4a133", "MachineId": "D69F42214F5B4CBDB78F573725808B26:::11DF88F8F5D244AAA1506A53AC98B336:::11DF88F8F5D244AAA1506A53AC98B336", "HostName": "MyComputer2", "FileName": "eicar.com", "PathName": "?:\\users\\user2\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9346019Z", "LastSeen": "2023-05-30T07:58:10.9346019Z", "ExtendedInfo": { "DwellTime": 678, "FileMD5": "AC55F6703DB04FB7AE3DE922AFB9BEEB", "FileSize": 68, "UserName": "User2", "IPAddress": "95.23.179.11", "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": "D50B-9EE4-B59B-47F4-AE9C" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "f57d0253-fcc1-4ac3-a714-cb4068814427" }, { "name": "endpointId", "in": "path", "required": true, "description": "The endpoint identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "b8d187ee-0c24-4b28-96b3-9f7b3aab002c" }, { "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": "2023-05-02T07:58:10.9658446Z" }, { "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": "2023-06-01T07:58:10.9658446Z" }, { "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": "41" } ], "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": "2023-03-01T07:58:10.9658446Z", "EndDate": "2023-06-01T07:58:10.9658446Z", "ThreatRecords": [ { "EndpointId": "17996527-1adc-4082-8f05-787700f041f1", "MachineId": "288D8B9ECEF84D13A32EAB912735E977:::4401EF833A8E4362BCC0E060C8661F60:::4401EF833A8E4362BCC0E060C8661F60", "HostName": "MyComputer1", "FileName": "eicar.com", "PathName": "?:\\users\\user1\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9658446Z", "LastSeen": "2023-05-30T07:58:10.9658446Z", "ExtendedInfo": { "DwellTime": 220, "FileMD5": "4977C28E93C846F2A3AEFDD6469E48CB", "FileSize": 68, "UserName": "User1", "IPAddress": "95.36.48.6", "Determination": "B", "FileVendor": "", "FileProduct": "", "FileVersion": "" } }, { "EndpointId": "8ba6164b-b3ba-46ad-a3d2-6b66bd4f2e38", "MachineId": "CD3AC017FB124851BB2CCE4A79BF5DE4:::D6A456EEB2504D169499CC0C17172186:::D6A456EEB2504D169499CC0C17172186", "HostName": "MyComputer2", "FileName": "eicar.com", "PathName": "?:\\users\\user2\\desktop", "MalwareGroup": "Anti-Malware Testfile", "FirstSeen": "2023-05-19T07:58:10.9658446Z", "LastSeen": "2023-05-30T07:58:10.9658446Z", "ExtendedInfo": { "DwellTime": 197, "FileMD5": "44DD722F8335452692FCC4E4DA0D7573", "FileSize": 68, "UserName": "User2", "IPAddress": "95.228.134.250", "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": "CC6C-489F-9C89-448B-8E5D" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "8ea622bf-1703-4bf0-b20e-ff4578bb963b" }, { "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": "2023-05-02T07:58:11.0439814Z" }, { "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": "2023-06-01T07:58:11.0439814Z" } ], "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": "2023-05-30T07:58:11.0439814Z", "EndDate": "2023-06-01T07:58:11.0439814Z", "DatedCounts": [ { "Date": "2023-06-01T00:00:00Z", "Count": 39 }, { "Date": "2023-05-31T00:00:00Z", "Count": 79 } ] } } } } }, "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": "3CF5-66BD-994F-4C4A-A17B" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "57cb54aa-7a9d-44e8-a579-090ebb25a08f" }, { "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": "37" }, { "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": "2023-05-02T07:58:11.106469Z" }, { "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": "2023-06-01T07:58:11.106469Z" } ], "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": "2023-05-30T07:58:11.0908584Z", "EndDate": "2023-05-31T07:58:11.0908584Z", "BlockedURLs": [ { "BlockedUrl": "https://www.suspicious.com/page0.html", "BlockReasonId": 48, "BlockReasonName": "Violence", "BCRI": null, "Timestamp": "2023-05-31T07:57:45.0908584Z", "ActionTaken": "WHITELIST", "HostName": "Computer0", "EndpointId": "320f555f-444d-41a4-85e5-883b307357aa" }, { "BlockedUrl": "https://www.malicious.com/page0.html", "BlockReasonId": 48, "BlockReasonName": "Violence", "BCRI": 7, "Timestamp": "2023-05-31T07:56:58.0908584Z", "ActionTaken": "BLOCK", "HostName": "Computer0", "EndpointId": "7911b5f8-ebf8-450e-8214-54594872db88" } ] } } } } }, "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 identifier.", "operationId": "ConsoleGSM_GetDNSPCategories", "parameters": [ { "name": "gsmKey", "in": "path", "required": true, "description": "The GSM console keycode.", "schema": { "type": "string", "nullable": false }, "x-position": 1, "example": "7A36-5769-27AA-4D4B-AC13" } ], "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/7A36-5769-27AA-4D4B-AC13/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 identifier 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": "63E3-2900-4F67-41DF-8DE8" } ], "responses": { "200": { "description": "Information about DNS Protection policies.", "content": { "application/json": { "schema": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GetDNSPGlobalPoliciesResponseModel" } ] }, "example": { "TotalCount": 2, "Policies": [ { "Id": "4b681f5d-3a7d-49ee-a791-12bcbb860989", "Name": "Test Policy 1", "BlockedCategories": [ 50, 57, 58, 59, 60, 68 ], "Editable": true, "CreatedDate": "2023-01-01T07:58:11.1533615Z", "ModifiedDate": "2023-01-01T07:58:11.1533615Z" }, { "Id": "20e249ab-b8fb-4ff3-9c07-b473ba0f7b1b", "Name": "Test Policy 2", "BlockedCategories": [ 51, 58, 59, 60, 61, 69 ], "Editable": true, "CreatedDate": "2022-08-01T07:58:11.1533615Z", "ModifiedDate": "2022-08-01T07:58:11.1533615Z" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/63E3-2900-4F67-41DF-8DE8/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": "9EFD-A419-F9A2-4A0E-8A4F" }, { "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": "c995af16-a3ef-435f-b2a7-39b56be85c18" } ], "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": "9d43d344-862f-4b33-b129-dba916599be8", "Name": "Test Policy 1", "BlockedCategories": [ 50, 57, 58, 59, 60, 68 ], "Editable": true, "CreatedDate": "2023-01-01T07:58:11.1689948Z", "ModifiedDate": "2023-01-01T07:58:11.1689948Z" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/9EFD-A419-F9A2-4A0E-8A4F/dnsp/policies/c995af16-a3ef-435f-b2a7-39b56be85c18" } ] } }, "/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": "57D8-8166-4412-4F16-B0E0" }, { "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": "e7e02ae8-7e21-44eb-8a5d-d57756475562" } ], "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": "d5ed166b-9c69-4773-927c-e7702e716a99", "Type": "StaticIP", "Value": "95.24.209.117", "DNSPolicyId": "a8ea3a12-0b2a-4f80-901f-bccc1b1ae572" }, { "Id": "a0d3db07-fc1e-4c01-a1bb-2562769c6081", "Type": "StaticIP", "Value": "95.141.124.135", "DNSPolicyId": "21749cc7-b877-4da6-af6e-90ca2077b210" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/57D8-8166-4412-4F16-B0E0/sites/e7e02ae8-7e21-44eb-8a5d-d57756475562/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": "ED1B-8872-FA87-4B6D-9150" }, { "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": "be88b729-65dc-45c8-945d-4b59dba6a72e" } ], "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.5.119.251", "DNSPolicyId": "4e7a688b-ae6b-4b54-ba45-41223608ec98" } } }, "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": "e184f01f-afdf-46ef-9aee-b436c74121d6", "Type": "StaticIP", "Value": "95.121.209.113", "DNSPolicyId": "bc21c705-be29-44d7-aa6e-e7ca99847a9f" } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/ED1B-8872-FA87-4B6D-9150/sites/be88b729-65dc-45c8-945d-4b59dba6a72e/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": "94A4-5BA3-A4B6-4C09-9B28" }, { "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": "b1992f6b-e063-4410-9e77-37d86625a1f8" }, { "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": "e6f594fe-e2de-4f5d-999d-aaf52649267c" } ], "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": "1cd966c3-facd-4821-a2c2-d5a9ac8fc56f", "Type": "StaticIP", "Value": "95.67.235.1", "DNSPolicyId": "e13dcaa2-92c7-4d1b-a280-ab646d332ff7" } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/94A4-5BA3-A4B6-4C09-9B28/sites/b1992f6b-e063-4410-9e77-37d86625a1f8/dnsp/mappings/e6f594fe-e2de-4f5d-999d-aaf52649267c" } ] }, "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": "135B-296C-FD9D-4C1E-8865" }, { "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": "07f88d9d-1960-49c8-b869-a475ddf57df6" }, { "name": "mappingId", "in": "path", "required": true, "description": "The identifier of the mapping.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "cbc76312-2182-4c63-afc3-0e06e808dc80" } ], "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.202.144.175", "DNSPolicyId": "a07453f9-34ee-4f47-9648-2856cd707673" } } }, "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": "69ae39ff-14cd-46f1-84b4-a851a9b28203", "Type": "StaticIP", "Value": "95.209.16.151", "DNSPolicyId": "68fe5570-cfa0-483d-b247-61089b1e5215" } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/135B-296C-FD9D-4C1E-8865/sites/07f88d9d-1960-49c8-b869-a475ddf57df6/dnsp/mappings/cbc76312-2182-4c63-afc3-0e06e808dc80" } ] }, "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": "543B-DEB5-94C4-4C06-9711" }, { "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": "0044f276-de32-405b-8a76-775ca1fb73ad" }, { "name": "mappingId", "in": "path", "required": true, "description": "The identifier of the mapping to be deleted.", "schema": { "type": "string", "nullable": false }, "x-position": 3, "example": "9b115b3f-869a-4d06-8f2e-a03a8fb8c78f" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/543B-DEB5-94C4-4C06-9711/sites/0044f276-de32-405b-8a76-775ca1fb73ad/dnsp/mappings/9b115b3f-869a-4d06-8f2e-a03a8fb8c78f" } ] } }, "/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": "3903-EB98-3114-473C-95B2" } ], "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/3903-EB98-3114-473C-95B2/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": "5F09-EA73-7279-4CB4-ADC9" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "bcf03726-0597-474b-bfb4-835e2a1229a0" }, { "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": "2023-05-02T07:58:11.4033508Z" }, { "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": "2023-06-01T07:58:11.4033508Z" }, { "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": "25" } ], "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": "2023-05-31T07:58:11.4033508Z", "EndDate": "2023-06-01T07:58:11.4033508Z", "SiteId": "dfd72916-251c-4a71-8148-77c232f9b86a", "SiteName": "Site 1", "BlockedRequests": [ { "Timestamp": "2023-06-01T07:57:11.4033508Z", "HostName": "MyComputer1", "UserName": "User1", "AgentVersion": "1.2.1.28", "SourceIp": "95.250.79.214", "Domain": "www.blocked-domain1.com", "DomainIps": [ "95.253.216.118", "95.107.80.119" ], "CategoryIds": [ 50, 57 ], "BlockReasonId": 3 }, { "Timestamp": "2023-06-01T07:56:11.4033508Z", "HostName": "MyComputer2", "UserName": "User2", "AgentVersion": "1.2.1.28", "SourceIp": "95.231.64.67", "Domain": "www.blocked-domain2.com", "DomainIps": [ "95.232.245.9", "95.126.99.23" ], "CategoryIds": [ 51, 58 ], "BlockReasonId": 0 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/5F09-EA73-7279-4CB4-ADC9/sites/bcf03726-0597-474b-bfb4-835e2a1229a0/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": "58DD-FF90-C0EE-4BD1-8142" }, { "name": "siteId", "in": "path", "required": true, "description": "The site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "751689be-c1c6-47c6-866d-f143c31393ce" }, { "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": "7,81,25" }, { "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": "2023-05-02T07:58:11.4502442Z" }, { "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": "2023-06-01T07:58:11.4502442Z" }, { "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": "10" } ], "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": "2023-05-31T07:58:11.4502442Z", "EndDate": "2023-06-01T07:58:11.4502442Z", "SiteId": "97ccf7ac-fffb-4e54-a699-01e31d6e4220", "SiteName": "Site 1", "Requests": [ { "Timestamp": "2023-06-01T07:57:11.4502442Z", "HostName": "MyComputer1", "UserName": "User1", "AgentVersion": "1.3.0.197", "SourceIp": "95.59.56.26", "Domain": "www.category-domain1.com", "DomainIps": [ "95.190.159.190", "95.45.0.1" ], "CategoryIds": [ 34, 42 ], "ActionTaken": 4 }, { "Timestamp": "2023-06-01T07:56:11.4502442Z", "HostName": "MyComputer2", "UserName": "User2", "AgentVersion": "1.3.0.197", "SourceIp": "95.49.209.149", "Domain": "www.category-domain2.com", "DomainIps": [ "95.188.132.45", "95.18.236.11" ], "CategoryIds": [ 7, 81 ], "ActionTaken": 3 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/58DD-FF90-C0EE-4BD1-8142/sites/751689be-c1c6-47c6-866d-f143c31393ce/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": "AC5A-645E-19D9-4D86-888D" }, { "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": "2023-05-02T07:58:11.4971028Z" }, { "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": "2023-06-01T07:58:11.4971028Z" } ], "responses": { "200": { "description": "Traffic summary information for GSM sites.", "content": { "application/json": { "schema": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GetDNSPTrafficSummaryResponseModel" } ] }, "example": { "StartDate": "2023-05-31T07:58:11.4971028Z", "EndDate": "2023-06-01T07:58:11.4971028Z", "Sites": [ { "SiteId": "2e8a3329-51fa-42b5-9eb4-61ce15bc32ff", "SiteName": "Site 1", "DNSRequests": 11321, "BlockedDNSRequests": 119, "RiskyDNSRequests": 139 }, { "SiteId": "3a95370c-cd78-46ee-8f02-6b44f9cc8470", "SiteName": "Site 2", "DNSRequests": 12060, "BlockedDNSRequests": 163, "RiskyDNSRequests": 125 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/AC5A-645E-19D9-4D86-888D/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": "5BDB-B398-ECCA-4F62-9EF3" }, { "name": "siteId", "in": "path", "required": true, "description": "The GSM site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "02218aee-6bae-4853-9b0d-dfea4679bbaf" }, { "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": "2023-05-02T07:58:11.512727Z" }, { "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": "2023-06-01T07:58:11.512727Z" } ], "responses": { "200": { "description": "Traffic summary information for GSM sites.", "content": { "application/json": { "schema": { "nullable": true, "oneOf": [ { "$ref": "#/components/schemas/GetDNSPTrafficSummaryForSiteResponseModel" } ] }, "example": { "StartDate": "2023-05-31T07:58:11.512727Z", "EndDate": "2023-06-01T07:58:11.512727Z", "Sites": [ { "SiteId": "8a30d81e-5d6c-4589-9148-731a634a1c21", "SiteName": "Site 1", "DNSRequests": 10887, "BlockedDNSRequests": 157, "RiskyDNSRequests": 183 } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Console.GSM" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/console/gsm/5BDB-B398-ECCA-4F62-9EF3/sites/02218aee-6bae-4853-9b0d-dfea4679bbaf/dnsp/trafficsummary" } ] } }, "/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": "32F5-FF6E-7E22-4C59-9750" }, { "name": "siteId", "in": "path", "required": true, "description": "The GSM site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "7307ef74-be38-4748-a6f8-a6ff97489da8" }, { "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": "2023-05-02T07:58:11.5596019Z" }, { "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": "2023-06-01T07:58:11.5596019Z" } ], "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": "2023-03-01T07:58:11.5596019Z", "EndDate": "2023-04-01T07:58:11.5596019Z", "Campaigns": [ { "SiteId": "4f84c009-3714-49c9-8e6e-5c18a8781990", "SiteName": "The WSAT Site", "CampaignName": "Campaign Name 1", "LaunchDate": "2023-03-30T07:58:11.5596019Z", "TotalUsers": 2, "TotalClicked": 2, "TargetUsers": [ { "Email": "email1@domain.com", "Clicked": true }, { "Email": "email2@domain.com", "Clicked": true } ] }, { "SiteId": "4f84c009-3714-49c9-8e6e-5c18a8781990", "SiteName": "The WSAT Site", "CampaignName": "Campaign Name 2", "LaunchDate": "2023-03-28T07:58:11.5596019Z", "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/32F5-FF6E-7E22-4C59-9750/sites/7307ef74-be38-4748-a6f8-a6ff97489da8/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": "0415-DD4C-49E6-4197-84B7" }, { "name": "siteId", "in": "path", "required": true, "description": "The GSM site identifier.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "ee6602df-c652-4434-b889-d6ec29d76b4f" }, { "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": "2023-05-02T07:58:11.6064899Z" }, { "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": "2023-06-01T07:58:11.6064899Z" } ], "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": "2023-03-01T07:58:11.6064899Z", "EndDate": "2023-04-01T07:58:11.6064899Z", "Campaigns": [ { "SiteId": "e41bd184-c1e9-4d32-911c-fc776c6c3c02", "SiteName": "The WSAT Site", "CampaignName": "Campaign Name 1", "LaunchDate": "2023-03-30T07:58:11.6064899Z", "TotalUsers": 2, "TotalComplete": 2, "TargetUsers": [ { "Email": "email1@domain.com", "Complete": true }, { "Email": "email2@domain.com", "Complete": true } ] }, { "SiteId": "e41bd184-c1e9-4d32-911c-fc776c6c3c02", "SiteName": "The WSAT Site", "CampaignName": "Campaign Name 2", "LaunchDate": "2023-03-28T07:58:11.6064899Z", "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/0415-DD4C-49E6-4197-84B7/sites/ee6602df-c652-4434-b889-d6ec29d76b4f/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": "2023-06-01T00: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": "2023-06-01T00:00:00Z", "ExpirationDate": "2024-06-01T00: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": "2023-06-01T00:00:00Z", "ExpirationDate": "2024-06-01T00: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": "E000497403", "VatId": "A123456", "CustomerTypeId": 1, "CustomerTypeDescription": "Billing" }, "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": "PSV0043009849" } ], "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": "2023-06-01T21:05:33", "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": "2023-06-01T00:00:00Z", "ExpirationDate": "2024-06-01T00: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": "2023-06-01T00:00:00Z", "ExpirationDate": "2024-06-01T00: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": "E000950783", "VatId": "A123456", "CustomerTypeId": 1, "CustomerTypeDescription": "Billing" }, "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": "E000634837", "VatId": "A123456", "CustomerTypeId": 2, "CustomerTypeDescription": "Shipping" }, "Reseller": null } } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/carts/PSV0043009849" } ] } }, "/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": "PSV0082832111" } ], "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": "E000505420" }, "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": "E000640864" } } } }, "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": "E000205817", "VatId": "A123456", "CustomerTypeId": 1, "CustomerTypeDescription": "Billing" }, "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": "E000738841", "VatId": "A123456", "CustomerTypeId": 3, "CustomerTypeDescription": "Reseller" }, "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": "E000682534", "VatId": "A123456", "CustomerTypeId": 2, "CustomerTypeDescription": "Shipping" } } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/carts/PSV0082832111/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": "PSV0095150274" } ], "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": "E000449816", "VatId": "A123456", "CustomerTypeId": 1, "CustomerTypeDescription": "Billing" }, "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": "E000178844", "VatId": "A123456", "CustomerTypeId": 3, "CustomerTypeDescription": "Reseller" }, "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": "E000865709", "VatId": "A123456", "CustomerTypeId": 2, "CustomerTypeDescription": "Shipping" } } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/carts/PSV0095150274/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" } } }, "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": "2023-03-07T17:07:09", "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": "293B271586C447B6BE97", "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 } ], "Customers": { "Billing": { "CustomerId": 58075345, "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": "E000366454", "VatId": "A123456", "CustomerTypeId": 1, "CustomerTypeDescription": "Billing" }, "Shipping": { "CustomerId": 36341028, "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": "E000890050", "VatId": "A123456", "CustomerTypeId": 2, "CustomerTypeDescription": "Shipping" }, "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": "2D97B611F98144D8BAC2" } ], "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": "A030A608AE1B46ED8D5F", "VendorOrderCode": "PSV0090609149", "ExceptionStatus": null, "PartnerLicenseStatus": "approved" }, { "Keycode": "A030A608AE1B46ED8D5F", "VendorOrderCode": "PSV0016677361", "ExceptionStatus": "resolved", "PartnerLicenseStatus": null } ] } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/products/2D97B611F98144D8BAC2/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": "F8930804CC2843B4A7B5" }, { "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.", "schema": { "type": "string", "nullable": false }, "x-position": 2, "example": "SAEP" } ], "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/F8930804CC2843B4A7B5/licensecategory/SAEP" } ] } }, "/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": "610E56AD35444A4F8EF4" } ], "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": 184629208, "Keycode": "11938E7C786F4DFCB014", "ProductLineDescription": "Webroot Business", "ParentLicenseId": 122977954, "ParentKeycode": "D40F734AD2954A3E9626", "ChildLicenseActivations": 8, "PartnerStartDate": "2021-07-04T08:36:40", "Profile": { "SAEP": { "LicenseCategoryName": "SAEP", "LicenseCategoryDescription": "Webroot Endpoint Protection", "LicenseSeats": 160, "LicenseKeycodeTypeId": 3, "StartDate": "2022-09-11T03:56:36", "ExpirationDate": "2025-05-01T21:44:41", "LicenseAttributeValue": null, "LicenseAttributeValueDescription": null, "LicenseAttributeDescription": null, "CategoryTypeName": "trial", "ItemHierarchyId": 1, "ItemHierarchyName": "primary", "LicenseStatusId": 2, "LicenseStatusDescription": "disabled", "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": 144, "LicenseKeycodeTypeId": 3, "StartDate": "2021-10-03T08:17:36", "ExpirationDate": "2026-01-04T07:56:31", "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 }, "SECA": { "LicenseCategoryName": "SECA", "LicenseCategoryDescription": "Webroot Security Awareness", "LicenseSeats": 895, "LicenseKeycodeTypeId": 3, "StartDate": "2020-10-02T13:39:49", "ExpirationDate": "2025-10-24T14:48:46", "LicenseAttributeValue": null, "LicenseAttributeValueDescription": null, "LicenseAttributeDescription": null, "CategoryTypeName": "trial", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 1, "LicenseStatusDescription": "active", "UsagePricingModelId": null, "UsagePricingModelName": null, "UsageCheckDay": 15, "VaultId": null, "VaultName": null, "Vaults": null, "ProductPlatformId": null, "ProductPlatformName": null, "RetentionModelId": null, "RetentionModelName": null } }, "Customer": { "VendorCustomerCode": "86962", "CompanyName": "Sample Company" } } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/products/610E56AD35444A4F8EF4" } ] } }, "/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": "2C48A61F312144698416" } ], "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": 176551021, "Keycode": "9FFDE586FA1647238B1D", "ParentKeycode": "AB0730D1012D49B3A809", "SiteName": "My site 1", "ChildLicenseProfile": { "SAEP": { "LicenseCategoryName": "SAEP", "LicenseCategoryDescription": "Webroot Endpoint Protection", "LicenseKeycodeTypeId": 3, "StartDate": "2022-03-18T10:42:37", "ExpirationDate": "2023-09-22T02:03:06", "CategoryTypeName": "full", "ItemHierarchyId": 1, "ItemHierarchyName": "primary", "LicenseStatusId": 3, "LicenseStatusDescription": "manually disabled" }, "SDNS": { "LicenseCategoryName": "SDNS", "LicenseCategoryDescription": "Webroot DNS Protection", "LicenseKeycodeTypeId": 3, "StartDate": "2021-03-17T08:31:52", "ExpirationDate": "2024-01-03T17:51:06", "CategoryTypeName": "trial", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 0, "LicenseStatusDescription": "inactive" }, "SECA": { "LicenseCategoryName": "SECA", "LicenseCategoryDescription": "Webroot Security Awareness", "LicenseKeycodeTypeId": 3, "StartDate": "2021-10-21T06:47:54", "ExpirationDate": "2025-11-07T23:07:57", "CategoryTypeName": "trial", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 2, "LicenseStatusDescription": "disabled" } } }, { "LicenseId": 199419673, "Keycode": "D1AEB483D28148FBBF64", "ParentKeycode": "AB0730D1012D49B3A809", "SiteName": "My site 2", "ChildLicenseProfile": { "SAEP": { "LicenseCategoryName": "SAEP", "LicenseCategoryDescription": "Webroot Endpoint Protection", "LicenseKeycodeTypeId": 3, "StartDate": "2020-10-23T13:28:45", "ExpirationDate": "2025-10-11T09:48:26", "CategoryTypeName": "full", "ItemHierarchyId": 1, "ItemHierarchyName": "primary", "LicenseStatusId": 0, "LicenseStatusDescription": "inactive" }, "SDNS": { "LicenseCategoryName": "SDNS", "LicenseCategoryDescription": "Webroot DNS Protection", "LicenseKeycodeTypeId": 3, "StartDate": "2022-12-06T23:37:57", "ExpirationDate": "2024-04-27T11:45:48", "CategoryTypeName": "full", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 3, "LicenseStatusDescription": "manually disabled" } } } ] } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/products/2C48A61F312144698416/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": 603, "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": "E000592134", "VaultId": null, "ProductPlatformId": null, "Modules": [ { "LicenseSeats": 793, "LicenseCategoryName": "SDNS", "VaultId": null, "ProductPlatformId": null }, { "LicenseSeats": 118, "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": 111087960, "Keycode": "ED54391F70E741A8935D", "ProductLineDescription": "Webroot Business", "Profile": { "SAEP": { "LicenseCategoryName": "SAEP", "LicenseCategoryDescription": "Webroot Endpoint Protection", "LicenseSeats": 840, "LicenseKeycodeTypeId": 3, "StartDate": "2023-06-01T01:49:13", "ExpirationDate": "2024-05-10T02:11:00", "LicenseAttributeValue": 1, "LicenseAttributeValueDescription": "", "LicenseAttributeDescription": "", "CategoryTypeName": "full", "ItemHierarchyId": 1, "ItemHierarchyName": "primary", "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 }, "SDNS": { "LicenseCategoryName": "SDNS", "LicenseCategoryDescription": "Webroot DNS Protection", "LicenseSeats": 901, "LicenseKeycodeTypeId": 3, "StartDate": "2023-05-31T20:42:05", "ExpirationDate": "2024-06-13T05:20:38", "LicenseAttributeValue": 1, "LicenseAttributeValueDescription": "", "LicenseAttributeDescription": "", "CategoryTypeName": "full", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 1, "LicenseStatusDescription": "active", "UsagePricingModelId": null, "UsagePricingModelName": null, "UsageCheckDay": null, "VaultId": null, "VaultName": null, "Vaults": null, "ProductPlatformId": null, "ProductPlatformName": null, "RetentionModelId": null, "RetentionModelName": null } }, "Customer": { "VendorCustomerCode": "62678", "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": "F19297B3F33A4D3086DA" } ], "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": 253, "LicenseCategoryName": "SDNS", "VaultId": null, "ProductPlatformId": null }, { "LicenseSeats": 597, "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": 163458768, "Keycode": "7C4F215A34FB45E3B44A", "ProductLineDescription": "Webroot Business", "ParentLicenseId": 141699498, "ParentKeycode": "ACFFCBBBC8F54D39862F", "ChildLicenseActivations": 5, "PartnerStartDate": "2021-11-27T10:13:35", "Profile": { "SAEP": { "LicenseCategoryName": "SAEP", "LicenseCategoryDescription": "Webroot Endpoint Protection", "LicenseSeats": 519, "LicenseKeycodeTypeId": 3, "StartDate": "2021-02-13T05:08:58", "ExpirationDate": "2024-11-14T21:06:27", "LicenseAttributeValue": null, "LicenseAttributeValueDescription": null, "LicenseAttributeDescription": null, "CategoryTypeName": "trial", "ItemHierarchyId": 1, "ItemHierarchyName": "primary", "LicenseStatusId": 2, "LicenseStatusDescription": "disabled", "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": 442, "LicenseKeycodeTypeId": 3, "StartDate": "2022-05-24T06:05:46", "ExpirationDate": "2024-10-28T17:03:16", "LicenseAttributeValue": null, "LicenseAttributeValueDescription": null, "LicenseAttributeDescription": null, "CategoryTypeName": "trial", "ItemHierarchyId": 2, "ItemHierarchyName": "secondary", "LicenseStatusId": 1, "LicenseStatusDescription": "active", "UsagePricingModelId": null, "UsagePricingModelName": null, "UsageCheckDay": 15, "VaultId": null, "VaultName": null, "Vaults": null, "ProductPlatformId": null, "ProductPlatformName": null, "RetentionModelId": null, "RetentionModelName": null } }, "Customer": { "VendorCustomerCode": "14455" } } } } } }, "security": [ { "UnityAPISecurity": [ "ECom.Shop" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/ecom/shop/trials/F19297B3F33A4D3086DA/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": "3b351ab3-cf3a-4aab-befb-8b9ffb834cf5", "DeliveryType": "fetch", "Domain": { "Type": "Site", "Values": [ { "Name": "GSMKey", "Value": "839D-E1F0-F980-48C3-B856" }, { "Name": "SiteKey", "Value": "000E-D490-4237-44A5-8182" } ] }, "EventTypes": [ "Endpoint.FileDetection" ], "Webhook": null, "CreatedDate": "2023-03-01T07:58:12.8877359Z", "UpdatedDate": "2023-04-01T07:58:12.8877359Z" }, { "SubscriptionId": "c5df1c43-e0f5-45b3-9675-705b92566ef5", "DeliveryType": "webhook", "Domain": { "Type": "Site", "Values": [ { "Name": "GSMKey", "Value": "9BD0-D6CA-E269-4F2C-AAAF" }, { "Name": "SiteKey", "Value": "FDAE-93E9-96BE-4BA3-A11B" } ] }, "EventTypes": [ "Endpoint.FileDetection" ], "Webhook": { "DeliveryContext": "MyCustomCorrelationString", "DeliveryRateInSeconds": 90, "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook", "Suspended": false, "Statistics": null }, "CreatedDate": "2023-03-01T07:58:12.8877359Z", "UpdatedDate": "2023-04-01T07:58:12.8877359Z" } ] } } } } }, "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": "0C44-FA9E-AF8E-4067-9488" }, { "Name": "SiteKey", "Value": "DD90-B1D6-6204-4FAA-831F" } ] }, "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": "052678f1-46db-460d-8f83-20e9e76a5818", "DeliveryType": "webhook", "Domain": { "Type": "Site", "Values": [ { "Name": "GSMKey", "Value": "40CB-EDA1-EDB2-4146-A836" }, { "Name": "SiteKey", "Value": "126B-71C1-4036-491C-A697" } ] }, "EventTypes": [ "Endpoint.FileDetection" ], "Webhook": { "DeliveryContext": "MyCustomCorrelationString", "DeliveryRateInSeconds": 90, "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook", "Suspended": false, "Statistics": null }, "CreatedDate": "2023-03-01T07:58:13.0752371Z", "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": "6124d53f-ab9b-430a-8316-29348ba5214b" } ], "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": "28609e16-165d-4702-bd75-93b49fd8642e", "DeliveryType": "fetch", "Domain": { "Type": "Site", "Values": [ { "Name": "GSMKey", "Value": "B4B9-190A-ADF6-431E-B20C" }, { "Name": "SiteKey", "Value": "4D37-D8B3-3771-45CC-AC68" } ] }, "EventTypes": [ "Endpoint.FileDetection" ], "Webhook": { "DeliveryContext": "MyCustomCorrelationString", "DeliveryRateInSeconds": 90, "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook", "Suspended": false, "Statistics": null }, "CreatedDate": "2023-03-01T07:58:12.9033626Z", "UpdatedDate": "2023-04-01T07:58:12.9033626Z" } } } } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/6124d53f-ab9b-430a-8316-29348ba5214b" } ] }, "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": "2809dc2e-66ba-4ca6-9510-8ee7c2c64bc1" } ], "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": "6cdd1f99-3897-4d26-8bb4-88fa5b638179", "DeliveryType": "webhook", "Domain": { "Type": "Site", "Values": [ { "Name": "GSMKey", "Value": "1DAE-E3CD-368C-4100-9FCD" }, { "Name": "SiteKey", "Value": "D0BE-3208-AA79-4364-B67A" } ] }, "EventTypes": [ "Endpoint.FileDetection" ], "Webhook": { "DeliveryContext": "MyCustomCorrelationString", "DeliveryRateInSeconds": 90, "DeliveryUrl": "https://my.company.com/wrunity/notifications/webhook", "Suspended": false, "Statistics": null }, "CreatedDate": "2023-03-01T07:58:13.1064904Z", "UpdatedDate": "2023-06-01T07:56:13.1064904Z" } } } } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/2809dc2e-66ba-4ca6-9510-8ee7c2c64bc1" } ] }, "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": "da08b288-d742-487e-ae14-b5ed0746a7f9" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/da08b288-d742-487e-ae14-b5ed0746a7f9" } ] } }, "/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": "6d139e0c-8245-4168-a277-b9404a79e62e" }, { "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": "e9a34c4e-91f4-4549-bf53-dc208c1cd2fb", "Count": 2, "NextPosition": "mq_fMZuv3zH4zC7DdWLbCCkJAAAAAAAAZTlhMzRjNGUtOTFmNC00NTQ5LWJmNTMtZGMyMDhjMWNkMmZi", "MoreAvailable": false, "Notifications": [ { "EventType": "WebThreatShield.UrlAction", "EventObjectName": "WtsUrlActionEvent", "UnityAPIEventId": "b45ff880-d44f-4850-be4e-282f6b0345c7", "WtsUrlActionEvent": { "Timestamp": "2023-06-01T07:55:12.9814864Z", "GSMKey": null, "GSMConsoleName": null, "SiteKey": "7A7C1D4B698C422FB484", "SiteId": null, "SiteName": null, "MachineId": "A35A25C579374B20A853717749F5AC1F:::8649AED3F4FA4993BFF6FBE10B6CC9B3:::8649AED3F4FA4993BFF6FBE10B6CC9B3", "HostName": "MyComputer1", "PublicIP": "95.65.240.118", "BlockDetails": { "ActionTaken": "BLOCK", "BlockedUrl": "http://www.category-domain1.com", "BlockReasonId": 57, "BlockReasonName": "Phishing and Other Frauds", "BCRI": 10 } } }, { "EventType": "Endpoint.FileDetection", "EventObjectName": "EndpointFileDetectionEvent", "UnityAPIEventId": "2172ebb3-c3e1-4336-bcfe-19c39b46ec99", "EndpointFileDetectionEvent": { "Timestamp": "2023-06-01T07:54:13Z", "GSMKey": "F5BC32EB4C684EF7A716", "GSMConsoleName": "My Management Console", "SiteKey": "90ADFAF6C1094DDEA824", "SiteId": "691c1c52-637c-fe11-4d33-1edde4dabcea", "SiteName": "My GSM Site 2", "MachineId": "3511F6449449440A8540245136741B31:::68161E8AF30B4BC383CD9127C088C556:::68161E8AF30B4BC383CD9127C088C556", "HostName": "MyComputer2", "PublicIP": "95.90.112.65", "ScanInfo": { "ScanId": "fabefd83-c73e-49e5-b0a9-4baf7fce095b", "ScanType": "RT" }, "DetectionInfo": { "FileName": "eicar.com", "FilePath": "c:\\users\\user2\\desktop", "FileSize": 68, "FileMD5": "44d88612fea8a8f36de82e1278abb02f", "FileSHA256": "275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f", "Determination": "B", "MalwareGroup": "Anti-Malware Testfile" } } } ] } } } } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/6d139e0c-8245-4168-a277-b9404a79e62e/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": "938517a1-e360-4c62-ba1b-79c5b0f9a374" } ], "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": "2023-06-01T08: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": "ozS6eaI0unmShUWLdWLbCNIEAAAAAAAAZTczMTFmMjgtODRkNy00MzRjLTk5OTAtZDBhNWM5MmM1NmU2" } } } } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/938517a1-e360-4c62-ba1b-79c5b0f9a374/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": "f77eed9d-5299-4a71-9b52-4cb96476c827" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/f77eed9d-5299-4a71-9b52-4cb96476c827/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": "bc04b4e6-94cc-48b4-832b-c0488ba47d93" } ], "responses": { "204": { "description": "" } }, "security": [ { "UnityAPISecurity": [ "Notifications.Subscriptions" ] } ], "x-code-samples": [ { "lang": "HTTP", "label": "URL", "source": "/api/notifications/subscriptions/bc04b4e6-94cc-48b4-832b-c0488ba47d93/resumewebhook" } ] } } }, "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 site.", "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 site 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 site.", "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 site.", "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 } ] }, "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 or WSAT).", "additionalProperties": false, "properties": { "Type": { "type": "string", "description": "The type of the module (e.g. \"DNSP\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).", "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 } } }, "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 or WSAT).", "additionalProperties": false, "properties": { "Type": { "type": "string", "description": "The type of the module (e.g. \"DNSP\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).", "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 } } }, "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": "Specifies details about a module (e.g. DNS Protection or WSAT).", "additionalProperties": false, "required": [ "Type", "LicenseType" ], "properties": { "Type": { "type": "string", "description": "The type of the module (e.g. \"DNSP\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).", "minLength": 1 }, "LicenseType": { "type": "string", "description": "The type of the license: Full or Trial.", "minLength": 1 } } }, "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": "Specifies details about a module (e.g. DNS Protection or WSAT).", "additionalProperties": false, "required": [ "Type", "LicenseType", "Enable" ], "properties": { "Type": { "type": "string", "description": "The type of the module (e.g. \"DNSP\" for DNS Protection or \"WSAT\" for Webroot Security Awareness Training).", "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 } } }, "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\").", "nullable": true }, "Parameters": { "type": "string", "description": "The parameters required for the command (e.g. the keycode has to be specified as parameter when issuing a \"changekeycode\" command).", "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.", "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\".", "minLength": 1 }, "Parameters": { "type": "string", "description": "The parameters required for the command (e.g. required for the \"changekeycode\" command to specify the keycode).", "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\".", "minLength": 1 }, "Parameters": { "type": "string", "description": "The parameters required for the command (e.g. required for the \"changekeycode\" command to specify the keycode).", "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 } ] }, "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 or WSAT) 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 or WSAT) 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 or WSAT).", "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 or WSAT).", "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 or WSAT) 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 or WSAT) 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 or WSAT) 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 and SECA (WSAT) 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. Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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) and SECA (Webroot Security Awareness Training) 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. Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany\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 } } }, "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.", "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) and SECA (Webroot Security Awareness Training) 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 and CBEP). Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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.", "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 } } }, "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 licenses, a license may have one primary category and many secondary categories (e.g. SECA, SDNS).", "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) and SECA (Webroot Security Awareness Training) 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. Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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 } } }, "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 } } }, "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 }, "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) and SECA (Webroot Security Awareness Training) 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.", "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 and CBEP). Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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, SECA.", "minLength": 1 }, "VaultId": { "type": "integer", "description": "Defines which data center vault to use (applicable to OTSF and CBEP). Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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.", "minLength": 1 }, "VaultId": { "type": "integer", "description": "Defines which data center vault to use (applicable to OTSF and CBEP). Note that ids are associated to license categories. As an example, a value of '1' defines a data center in the US for CBEP. Supported values are: \n- CBEP:\n - 1 = US\n - 2 = EMEA\n - 3 = CA\n - 4 = FR\n - 5 = APAC\n - 15 = AU\n - 16 = UK\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 - 13 = Germany", "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 } } }, "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" } ] } } }, "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 } } }, "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 } } } }, "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." } } } } } }, "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." } ], "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" ] } ] }