﻿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.26184.3
  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: D760-0CDC-6C67-4FCD-97A2
      - 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: 6b0b466d20564672898d382431c644a16b0b466d20564672898d382431c644a1:::4fc14fa108d24da2ba3a4fc14fa108d24da2ba3a:::4fc14fa108d24da2ba3a4fc14fa108d24da2ba3a
      - name: returnedInfo
        in: query
        description: A comma separated list of classes of information to be contained in the response data (BasicInfo,ExtendedInfo,TimesAndStats,Scheduling,EnabledFeatures,SystemAnalyzer,OSAndVersions). If omitted, all classes of information are returned
        schema:
          type: string
          nullable: false
        x-position: 3
        example: OSAndVersions,BasicInfo,ExtendedInfo
      - name: modifiedSince
        in: query
        description: If specified, returns all agent status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T09:15:29.2939869Z
      - 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: 27
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 6
        example: V6t1AbJvUnkvNQtD
      responses:
        200:
          description: Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/AgentStatus'
              example:
                QueryResults:
                - BasicInfo:
                    StatusRefreshTime: 2026-07-06T09:05:29.2900197Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-11-05T09:15:29.2900197Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-07-06T04:15:29.2900197Z
                    SystemState: 1
                    SystemStateUpdated: 2026-07-06T04:15:29.2900197Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-07-06T07:15:29.2900197Z
                    LastScanDuration: 142
                    LastScanCount: 285241
                    ScanCount: 9
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-07-06T07:15:29.2900197Z
                    LastFullScanDuration: 790
                    LastCustomScan: 
                    LastCustomScanDuration: 0
                    LastDeepScan: 
                    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: 
                    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.115.200.219
                    MACAddress: D3-2E-DC-EF-CD-7B
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.154.153.63
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.115.200.219
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: A9DC-A26C-5609-42D6-8699
                  KC: B27B-C4C2-0FE1-4C04-89AA
                  MachineID: 9350abfdbcca421397f5d6270c1e4a5d9350abfdbcca421397f5d6270c1e4a5d:::8a07bcf66c194ddc8cab8a07bcf66c194ddc8cab:::8a07bcf66c194ddc8cab8a07bcf66c194ddc8cab
                  LastChanged: 2026-07-04T09:15:29.2900197Z
                  HostName: Computer1
                  IPAddress: 95.178.107.170
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-06-06T09:15:29.2900197Z
                  LastSeen: 2026-07-05T09:15:29.2900197Z
                  TimesSeen: 5
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                - BasicInfo:
                    StatusRefreshTime: 2026-07-06T08:55:29.2900197Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-11-05T09:15:29.2900197Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-07-05T23:15:29.2900197Z
                    SystemState: 1
                    SystemStateUpdated: 2026-07-05T23:15:29.2900197Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-07-06T05:15:29.2900197Z
                    LastScanDuration: 223
                    LastScanCount: 233957
                    ScanCount: 8
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-07-06T05:15:29.2900197Z
                    LastFullScanDuration: 533
                    LastCustomScan: 
                    LastCustomScanDuration: 0
                    LastDeepScan: 
                    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: 
                    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.103.163.177
                    MACAddress: 9D-83-E8-C1-F8-D0
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.167.106.230
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.103.163.177
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: A9DC-A26C-5609-42D6-8699
                  KC: B27B-C4C2-0FE1-4C04-89AA
                  MachineID: 2ee1bf1944874f5f9f5431a52d0409722ee1bf1944874f5f9f5431a52d040972:::44b9ddfe2eb946218b3744b9ddfe2eb946218b37:::44b9ddfe2eb946218b3744b9ddfe2eb946218b37
                  LastChanged: 2026-07-02T09:15:29.2900197Z
                  HostName: Computer2
                  IPAddress: 95.130.242.124
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-05-06T09:15:29.2900197Z
                  LastSeen: 2026-07-04T09:15:29.2900197Z
                  TimesSeen: 15
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                ContinuationToken: 
                ContinuationURI: 
                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: 8112-9640-7491-42F6-BA0F
      - 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: adf738e4004e412fb383da2486a85ad1adf738e4004e412fb383da2486a85ad1:::d75411d29dcf4522acaad75411d29dcf4522acaa:::d75411d29dcf4522acaad75411d29dcf4522acaa
      - name: modifiedSince
        in: query
        description: If specified, returns all DNSP status entries, that were generated traffic after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T09:15:29.3359075Z
      - 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: 48
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 5
        example: U-TkoRI_YQcVcKqB
      responses:
        200:
          description: Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/DNSPAgentStatus'
              example:
                QueryResults:
                - HostName: Computer1
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-06-06T09:15:29.3359075Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-07-04T09:15:29.3359075Z
                  LastModifiedDate: 2026-06-06T11:15:29.3359075Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 2c2f41fd-132c-486c-b362-3aa089162a84
                  DNSPolicyName: Securedns High Protection
                  MachineID: e5f1ff5d78e348b491d92061382fd001e5f1ff5d78e348b491d92061382fd001:::ed7a063b86be4d4d8b24ed7a063b86be4d4d8b24:::ed7a063b86be4d4d8b24ed7a063b86be4d4d8b24
                  KC: 5BB8-80B1-FC5F-4337-902D
                  MasterKC: 5661-D790-7479-49AC-85E1
                - HostName: Computer2
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-05-06T09:15:29.3359075Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-07-02T09:15:29.3359075Z
                  LastModifiedDate: 2026-05-06T13:15:29.3359075Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: b57ec70c-9f3e-46aa-8f46-63e9c5da960b
                  DNSPolicyName: Securedns High Protection
                  MachineID: bace0f3cffa245398ad7252fe68be85cbace0f3cffa245398ad7252fe68be85c:::555504c75455459083ca555504c75455459083ca:::555504c75455459083ca555504c75455459083ca
                  KC: 5BB8-80B1-FC5F-4337-902D
                  MasterKC: 5661-D790-7479-49AC-85E1
                ContinuationToken: 
                ContinuationURI: 
                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: AA34-0DBB-809C-4975-9008
      - 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: 20b6c93608884794b0fcc088f3d97a6120b6c93608884794b0fcc088f3d97a61:::6f5e266b3df2407ba5c36f5e266b3df2407ba5c3:::6f5e266b3df2407ba5c36f5e266b3df2407ba5c3
      - 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: BasicInfo,EnabledFeatures,OSAndVersions
      - name: modifiedSince
        in: query
        description: If specified, returns all agent status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T09:15:29.3613212Z
      - 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: 37
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 6
        example: FuiRJ56YHX6elGk8
      responses:
        200:
          description: Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/AgentStatus'
              example:
                QueryResults:
                - BasicInfo:
                    StatusRefreshTime: 2026-07-06T09:05:29.3613212Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-11-05T09:15:29.3613212Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-07-06T04:15:29.3613212Z
                    SystemState: 1
                    SystemStateUpdated: 2026-07-06T04:15:29.3613212Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-07-06T07:15:29.3613212Z
                    LastScanDuration: 201
                    LastScanCount: 215480
                    ScanCount: 4
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-07-06T07:15:29.3613212Z
                    LastFullScanDuration: 810
                    LastCustomScan: 
                    LastCustomScanDuration: 0
                    LastDeepScan: 
                    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: 
                    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.212.122.128
                    MACAddress: 19-8A-B3-F6-0E-8D
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.62.188.3
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.212.122.128
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: CB15-70F2-A0C3-4D71-A067
                  KC: B417-F586-D8CE-4872-A24F
                  MachineID: d9b0365d408c4041b0eb01917fbc16d5d9b0365d408c4041b0eb01917fbc16d5:::0b6cd1e4d37c4d3fa86b0b6cd1e4d37c4d3fa86b:::0b6cd1e4d37c4d3fa86b0b6cd1e4d37c4d3fa86b
                  LastChanged: 2026-07-04T09:15:29.3613212Z
                  HostName: Computer1
                  IPAddress: 95.150.1.132
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-06-06T09:15:29.3613212Z
                  LastSeen: 2026-07-05T09:15:29.3613212Z
                  TimesSeen: 5
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                - BasicInfo:
                    StatusRefreshTime: 2026-07-06T08:55:29.3613212Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-11-05T09:15:29.3613212Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-07-05T23:15:29.3613212Z
                    SystemState: 1
                    SystemStateUpdated: 2026-07-05T23:15:29.3613212Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-07-06T05:15:29.3613212Z
                    LastScanDuration: 221
                    LastScanCount: 265047
                    ScanCount: 3
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-07-06T05:15:29.3613212Z
                    LastFullScanDuration: 488
                    LastCustomScan: 
                    LastCustomScanDuration: 0
                    LastDeepScan: 
                    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: 
                    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.234.178.76
                    MACAddress: 56-A9-5C-D5-42-57
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.43.82.112
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.234.178.76
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: CB15-70F2-A0C3-4D71-A067
                  KC: B417-F586-D8CE-4872-A24F
                  MachineID: d22515afc34a4e768514c09676a8cd3dd22515afc34a4e768514c09676a8cd3d:::4ce9259fa48e428d89414ce9259fa48e428d8941:::4ce9259fa48e428d89414ce9259fa48e428d8941
                  LastChanged: 2026-07-02T09:15:29.3613212Z
                  HostName: Computer2
                  IPAddress: 95.21.29.106
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-05-06T09:15:29.3613212Z
                  LastSeen: 2026-07-04T09:15:29.3613212Z
                  TimesSeen: 1
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                ContinuationToken: 
                ContinuationURI: 
                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: 9BEE-17EA-8C19-46A5-9757
      - 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: 287e5a0a3e1e47acb66870864eff68b5287e5a0a3e1e47acb66870864eff68b5:::d127d917dea244d8850dd127d917dea244d8850d:::d127d917dea244d8850dd127d917dea244d8850d
      - name: modifiedSince
        in: query
        description: If specified, returns all DNSP status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T09:15:29.3613212Z
      - 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: 29
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 5
        example: knOxzbdPYTm-PX9k
      responses:
        200:
          description: Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/DNSPAgentStatus'
              example:
                QueryResults:
                - HostName: Computer1
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-06-06T09:15:29.3613212Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-07-04T09:15:29.3613212Z
                  LastModifiedDate: 2026-06-06T11:15:29.3613212Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 984fc07b-c061-40d1-8645-f1dd6a89e591
                  DNSPolicyName: Securedns High Protection
                  MachineID: 09e7bff9af70433ab47378cbf26a379109e7bff9af70433ab47378cbf26a3791:::4bfc8a0f84a6401daa144bfc8a0f84a6401daa14:::4bfc8a0f84a6401daa144bfc8a0f84a6401daa14
                  KC: 8897-FDBC-6E9E-45AB-ACAB
                  MasterKC: D26A-3FEF-2515-4840-9376
                - HostName: Computer2
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-05-06T09:15:29.3613212Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-07-02T09:15:29.3613212Z
                  LastModifiedDate: 2026-05-06T13:15:29.3613212Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 932a09a2-ef33-433d-8351-160138578c37
                  DNSPolicyName: Securedns High Protection
                  MachineID: 19bb4d1b45494c47a9f4546141fda49a19bb4d1b45494c47a9f4546141fda49a:::ab60ebb8da8442a6a78fab60ebb8da8442a6a78f:::ab60ebb8da8442a6a78fab60ebb8da8442a6a78f
                  KC: 8897-FDBC-6E9E-45AB-ACAB
                  MasterKC: D26A-3FEF-2515-4840-9376
                ContinuationToken: 
                ContinuationURI: 
                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: D2FE-FC29-1781-4802-9473
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      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: ActiveEndpointsWithoutHidden
                  EffectiveDate: 2026-07-02T00:00:00.0000000Z
                  GSMKey: 8ma58ag25hlz5wkpcpfk
                GSM:
                  GSMConsoleName: GSM 7ZR0EFR9I3
                  LicenseType: full
                  ExpiryDate: 2028-04-08T00:18:29.4876593Z
                  TotalSitesWithoutTrial: 29
                  TotalTrialSites: 6
                  TotalEndpointsWithoutTrial: 8962
                  TotalTrialEndpoints: 33
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/D2FE-FC29-1781-4802-9473
  /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: B1AB-72E6-3B0C-4B72-9FE0
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: EndpointsSeenInLast30Days
                  EffectiveDate: 2026-06-12T00:00:00.0000000Z
                  GSMKey: wlej7xfuoqhjf9l37igs
                Sites:
                - SiteId: 6c36ff3d-3c70-1c68-4992-6fc452a90c02
                  SiteKey: ran7gy2myzlqrumdt6yb
                  SiteName: Site AXLTK57IK2
                  LicenseType: trial
                  ExpiryDate: 2028-06-22T11:16:29.5449172Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-13T09:15:29.5454435Z
                  TotalEndpoints: 702
                - SiteId: 38f7b623-6aff-2c2b-7a56-28cf1d524687
                  SiteKey: rjs4cuf017l64c4y4wl1
                  SiteName: Site TB5AJG9X6I
                  LicenseType: trial
                  ExpiryDate: 2027-11-08T06:56:29.5454435Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-22T09:15:29.5454435Z
                  TotalEndpoints: 9444
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/B1AB-72E6-3B0C-4B72-9FE0/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: 7661-47A5-5039-4905-82B6
      - 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: 06E6-F56F-36C1-43BE-B10E
      - 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: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: EndpointsSeenInLast30Days
                  EffectiveDate: 2026-06-27T00:00:00.0000000Z
                  GSMKey: yuqbiuomxeuocv2i95f6
                Sites:
                - SiteId: 784bfc9b-7e30-3d13-0ef1-42f7aeb10be2
                  SiteKey: xhvs0q1oxoue6d3tkfvk
                  SiteName: Site C1HHNG5KTC
                  LicenseType: full
                  ExpiryDate: 2028-09-20T15:30:29.5602776Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-11T09:15:29.5602776Z
                  TotalEndpoints: 4468
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/7661-47A5-5039-4905-82B6/sites/06E6-F56F-36C1-43BE-B10E
  /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: 3F73-CED5-E328-48EE-A5A1
      - 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: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: yos9p-E3i2YLB4fj
      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: kKkl4EXczS6qCFVs
                  SiteKeyFilter: 
                  ReportType: EndpointsSeenInLast30Days
                  EffectiveDate: 2026-06-28T00:00:00.0000000Z
                  GSMKey: u1fy3y8zsepioah0zl9d
                Endpoints:
                - MachineId: e1016b970b824e946fec07c0087ccccd5ab0d2719309e09acb7930d7501e4ca3:::ead929637c2d721fedf153a4d4bd19dd8da42073:::ead929637c2d721fedf153a4d4bd19dd8da42073
                  SiteId: 24019703-1eaa-0bbe-35f4-6ec01f20031b
                  SiteKey: 9e6c8p1v5zat154te59l
                  HostName: NODEH5TP86SD25
                  FriendlyHostName: FRIENDLY-NODEH5TP86SD25
                  LastSeen: 2026-06-28T00:30:29.6054751Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: true
                  IsDeactivated: false
                  IsTrial: false
                  ActivationStatusTime: 2026-06-19T05:02:29.6054751Z
                - MachineId: a61fff4a495b1378b5a1301fcc8c1f93914935a883ab61fece1efdc941226785:::0110fd56a180669bc903ea4c4a522810a5b4fffe:::0110fd56a180669bc903ea4c4a522810a5b4fffe
                  SiteId: 47a8fea8-51b8-216f-6feb-279b91cf60e0
                  SiteKey: f6rpn2rkpm4n1ktfjgar
                  HostName: NODE2DFHP3KV7B
                  FriendlyHostName: FRIENDLY-NODE2DFHP3KV7B
                  LastSeen: 2026-06-25T11:17:29.6054751Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: true
                  ActivationStatusTime: 2026-06-24T03:41:29.6054751Z
      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: C255-2660-1C42-4C01-848E
      - 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: B5A1-B918-962C-4AD5-B863
      - 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: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: -omHqwmfqluyB8Mm
      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: V7QGjvOQkj0hlwXX
                  SiteKeyFilter: 
                  ReportType: ActiveEndpointsWithoutHidden
                  EffectiveDate: 2026-06-07T00:00:00.0000000Z
                  GSMKey: nsk67bf6pc98kl9d9g30
                Endpoints:
                - MachineId: 6a1ab5345193ca8be57ecd02d4423c9cc65575d30d3f4d46513390289fc71108:::7c75524983ee91d0fdc1863b3cb8852ecb785e13:::7c75524983ee91d0fdc1863b3cb8852ecb785e13
                  SiteId: 6c0c382b-4eee-5926-2c02-13a2329d1f45
                  SiteKey: 7td1qil79du2etn1cfd9
                  HostName: NODEDBC54GUB87
                  FriendlyHostName: FRIENDLY-NODEDBC54GUB87
                  LastSeen: 2026-07-02T06:59:29.6146938Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: false
                  ActivationStatusTime: 2026-06-24T01:04:29.6146938Z
                - MachineId: ee9db6e9c8d1884210fb167ca06b31a2543264336143b36296ed4ab86c3af35a:::dac341cddb501317a41d3dea9bb90832b95062d8:::dac341cddb501317a41d3dea9bb90832b95062d8
                  SiteId: 4defb8c8-0716-0119-4227-2f945ae65692
                  SiteKey: ohz1bzfrqb1ewulg1kse
                  HostName: NODEK8Y5T95HP2
                  FriendlyHostName: FRIENDLY-NODEK8Y5T95HP2
                  LastSeen: 2026-06-27T21:39:29.6146938Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: false
                  ActivationStatusTime: 2026-06-26T09:57:29.6146938Z
      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: 8DCF-951E-2463-48EF-ADFF
      - 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: 2026-07-01T00:00:00.0000000Z
      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: DevicesSeenInLast30Days
                  EffectiveDate: 2026-06-17T00:00:00.0000000Z
                  GSMKey: hfuaz5pzisoojodmdeai
                GSM:
                  GSMConsoleName: GSM 4I3BU4R2YU
                  GSMLicenseType: full
                  GSMExpiryDate: 2027-02-26T12:35:29.6580154Z
                  DNSPEnabled: true
                  DNSPLicenseType: full
                  DNSPExpiryDate: 2028-12-08T03:01:29.6580154Z
                  TotalSitesWithoutDNSP: 387
                  TotalSitesWithDNSPFull: 40
                  TotalSitesWithDNSPTrial: 481
                  TotalDNSPDevicesProxyFull: 957
                  TotalDNSPDevicesProxyTrial: 589
                  TotalDNSPDevicesActualFull: 927
                  TotalDNSPDevicesActualTrial: 457
                  TotalDNSPAgentlessRequestsFull: 1500000
                  TotalDNSPAgentlessRequestsTrial: 5520000
                  TotalDNSPAgentsFull: 877
                  TotalDNSPAgentsTrial: 407
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/8DCF-951E-2463-48EF-ADFF/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: 8E66-1DA7-A832-4FE8-A865
      - 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: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: DevicesSeenInLast30Days
                  EffectiveDate: 2026-06-18T00:00:00.0000000Z
                  GSMKey: x7ak98vnsn3gj99tnis3
                Sites:
                - SiteId: 5a323570-26c8-4b44-1c01-67e1ea050e0a
                  SiteKey: s787v3xuefwsx39h2zpk
                  SiteName: Site JQ2TNTKOKX
                  SiteLicenseType: trial
                  SiteExpiryDate: 2027-03-15T18:36:29.6979268Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-26T09:15:29.6979268Z
                  DNSPEnabled: true
                  DNSPLicenseType: trial
                  DNSPExpiryDate: 2028-06-18T15:53:29.6979268Z
                  TotalDNSPDevicesProxy: 82
                  TotalDNSPDevicesActual: 100
                  TotalDNSPAgentlessRequests: 810000
                  TotalDNSPAgents: 73
                - SiteId: 5ac9f4d2-56e9-30e8-53cf-66ebc5db5e15
                  SiteKey: 066rs62s4bfptbsjkrer
                  SiteName: Site 2NS071KZUV
                  SiteLicenseType: trial
                  SiteExpiryDate: 2027-04-24T10:07:29.6979268Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-25T09:15:29.6979268Z
                  DNSPEnabled: true
                  DNSPLicenseType: trial
                  DNSPExpiryDate: 2028-07-02T00:55:29.6979268Z
                  TotalDNSPDevicesProxy: 63
                  TotalDNSPDevicesActual: 61
                  TotalDNSPAgentlessRequests: 660000
                  TotalDNSPAgents: 39
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/8E66-1DA7-A832-4FE8-A865/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: 566A-3AB1-66A0-4397-BAA0
      - 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: 95C1-02AC-F91E-4387-B1BF
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"DevicesSeen\": Provides DNSP statistics for all devices seen on the effective report date.\n- \"DevicesSeenInLast30Days\": Provides DNSP statistics for all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"DevicesSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: DevicesSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: DevicesSeen
                  EffectiveDate: 2026-06-22T00:00:00.0000000Z
                  GSMKey: pyfz281jazv3vfzi6fik
                Sites:
                - SiteId: 190679ef-61b1-6508-4486-0df4838b0a03
                  SiteKey: 2tgy43ityhkrc8j0uneu
                  SiteName: Site J1GVWBCBVG
                  SiteLicenseType: full
                  SiteExpiryDate: 2028-09-30T00:54:29.7115975Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-07T09:15:29.7115975Z
                  DNSPEnabled: true
                  DNSPLicenseType: full
                  DNSPExpiryDate: 2028-12-15T00:27:29.7115975Z
                  TotalDNSPDevicesProxy: 31
                  TotalDNSPDevicesActual: 26
                  TotalDNSPAgentlessRequests: 600000
                  TotalDNSPAgents: 6
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/566A-3AB1-66A0-4397-BAA0/sites/95C1-02AC-F91E-4387-B1BF/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: E18D-430F-5400-4865-B9DB
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: UsersSeen
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportGSM_WSAT'
              example:
                ReportInfo:
                  ReportType: UsersSeen
                  EffectiveDate: 2026-07-05T00:00:00.0000000Z
                  GSMKey: pdut0vnnq1m9mw7oxrws
                GSM:
                  GSMConsoleName: GSM 6RR2Z6OK1K
                  GSMLicenseType: full
                  GSMExpiryDate: 2027-02-13T17:43:29.7397208Z
                  WSATEnabled: true
                  WSATLicenseType: full
                  WSATExpiryDate: 2026-07-22T20:07:29.7397208Z
                  TotalSitesWithoutWSAT: 25
                  TotalSitesWithWSATFull: 422
                  TotalSitesWithWSATTrial: 484
                  TotalWSATFullUsers: 803
                  TotalWSATTrialUsers: 228
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/E18D-430F-5400-4865-B9DB/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: 9322-AD05-9604-4AEA-B8C2
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: UsersSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: UsersSeenInLast30Days
                  EffectiveDate: 2026-06-15T00:00:00.0000000Z
                  GSMKey: fc6enoc7y27381ztt30b
                Sites:
                - SiteId: 566be536-3a98-52d1-0dc3-07a7e2351aad
                  SiteKey: cd97smdjphw55ojeem1f
                  SiteName: Site GI43XHGLIY
                  SiteLicenseType: full
                  SiteExpiryDate: 2029-03-15T03:13:29.7710514Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-12T09:15:29.7710514Z
                  WSATEnabled: true
                  WSATLicenseType: trial
                  WSATExpiryDate: 2026-07-21T02:41:29.7710514Z
                  TotalWSATUsers: 62
                - SiteId: 39edc905-34c6-4c7c-22f3-101e42824c5a
                  SiteKey: eg1urulkm6a4ifjkg2b1
                  SiteName: Site RL4E2VGI6M
                  SiteLicenseType: full
                  SiteExpiryDate: 2029-02-07T07:00:29.7710514Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-15T09:15:29.7710514Z
                  WSATEnabled: true
                  WSATLicenseType: full
                  WSATExpiryDate: 2026-10-14T15:18:29.7710514Z
                  TotalWSATUsers: 72
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/9322-AD05-9604-4AEA-B8C2/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: 6441-02F4-D301-426E-BFAB
      - 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: C7CC-76C7-7623-4945-BCE9
      - 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: 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: 4
        example: 2026-07-01T00:00:00.0000000Z
      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: 
                  ReportType: UsersSeen
                  EffectiveDate: 2026-06-27T00:00:00.0000000Z
                  GSMKey: n71rhx5f2mz941ydyagb
                Sites:
                - SiteId: 6cde4e3e-1edf-2f8e-5e9c-75ea9f2111de
                  SiteKey: pu8e19twqgx67z1vfkw4
                  SiteName: Site ME8HIRAO7I
                  SiteLicenseType: full
                  SiteExpiryDate: 2027-07-12T21:38:29.7866674Z
                  SiteState: active
                  SiteStateChangedDate: 2026-06-10T09:15:29.7866674Z
                  WSATEnabled: true
                  WSATLicenseType: full
                  WSATExpiryDate: 2029-02-17T09:48:29.7866674Z
                  TotalWSATUsers: 36
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/6441-02F4-D301-426E-BFAB/sites/C7CC-76C7-7623-4945-BCE9/wsat
  /api/status/reporting/pillr/{partnerkeycode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a partner-level summary usage report for a partner keycode. Besides general information like the partner's name and the product license status the report includes high watermark data.
      operationId: StatusReporting_GetUsageReportPartner_Pillr
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 0094-267D-A43E-4A3A-8531
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns partner-level usage statistics for a Pillr partner keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportPillr_Partner'
              example:
                ReportInfo:
                  EffectiveDate: 2026-06-10T00:00:00.0000000Z
                  PartnerKey: sk8dimqmw9cv7uixrup6
                General:
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: full
                Products:
                - ProductName: Pillr Platform
                  Licenses:
                  - Status: Active
                    HighWatermarkEndpoints: 325
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 218
                    HighWatermarkGigabytes: 0
                  - Status: NFR
                    HighWatermarkEndpoints: 129
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Platform Mobile
                  Licenses:
                  - Status: Active
                    HighWatermarkEndpoints: 25
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 18
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Platform Chromebook
                  Licenses:
                  - Status: Active
                    HighWatermarkEndpoints: 15
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 7
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Compliance Storage
                  Licenses:
                  - Status: Active
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 12.300000000000001
                  - Status: Trial
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 10.1
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/pillr/0094-267D-A43E-4A3A-8531
  /api/status/reporting/pillr/{partnerkeycode}/customers:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a customer-level summary report for a partner keycode. For each customer the report includes information like the customer name and license type as well as high watermark data.
      operationId: StatusReporting_GetUsageReportPartner_Customers_Pillr
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: EB95-7E15-71EF-49CA-B012
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns customer-level usage statistics for a Pillr partner keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportPillr_Partner_Customers'
              example:
                ReportInfo:
                  EffectiveDate: 2026-07-05T00:00:00.0000000Z
                  PartnerKey: 9fhvserp9tawr4gmmr3b
                General:
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: full
                Customers:
                - CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  CustomerKey: uyro2vp21tok14cmopwp
                  Products:
                  - ProductName: Pillr Platform
                    Licenses:
                    - SubscriptionId: 121
                      CreatedDate: 2024-07-12T00:00:00.0000000Z
                      StartDate: 2024-07-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 25
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 122
                      CreatedDate: 2024-08-12T00:00:00.0000000Z
                      StartDate: 2024-08-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 35
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 123
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 124
                      CreatedDate: 2024-07-14T00:00:00.0000000Z
                      StartDate: 2024-07-14T00:00:00.0000000Z
                      EndDate: 
                      Status: NFR
                      HighWatermarkEndpoints: 2
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Platform Mobile
                    Licenses:
                    - SubscriptionId: 324
                      CreatedDate: 2024-07-12T00:00:00.0000000Z
                      StartDate: 2024-07-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 25
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 325
                      CreatedDate: 2024-08-12T00:00:00.0000000Z
                      StartDate: 2024-08-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 35
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 331
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Platform Chromebook
                    Licenses:
                    - SubscriptionId: 224
                      CreatedDate: 2024-07-20T00:00:00.0000000Z
                      StartDate: 2024-07-20T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 15
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 286
                      CreatedDate: 2024-07-02T00:00:00.0000000Z
                      StartDate: 2024-07-03T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 2
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Compliance Storage
                    Licenses:
                    - SubscriptionId: 128
                      CreatedDate: 2024-07-10T00:00:00.0000000Z
                      StartDate: 2024-07-10T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 12.300000000000001
                    - SubscriptionId: 129
                      CreatedDate: 2024-07-11T00:00:00.0000000Z
                      StartDate: 2024-07-11T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 1.1000000000000001
                - CustomerName: Customer 2
                  CustomerId: CUST002
                  CustomerLicenseType: full
                  CustomerKey: om3q7bcnor74s7qlx327
                  Products:
                  - ProductName: Pillr Platform
                    Licenses:
                    - SubscriptionId: 521
                      CreatedDate: 2024-07-12T00:00:00.0000000Z
                      StartDate: 2024-07-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 25
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 522
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 523
                      CreatedDate: 2024-07-14T00:00:00.0000000Z
                      StartDate: 2024-07-14T00:00:00.0000000Z
                      EndDate: 
                      Status: NFR
                      HighWatermarkEndpoints: 2
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Platform Mobile
                    Licenses:
                    - SubscriptionId: 234
                      CreatedDate: 2024-07-12T00:00:00.0000000Z
                      StartDate: 2024-07-12T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 25
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 232
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Platform Chromebook
                    Licenses:
                    - SubscriptionId: 234
                      CreatedDate: 2024-07-20T00:00:00.0000000Z
                      StartDate: 2024-07-20T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 15
                      HighWatermarkGigabytes: 0
                    - SubscriptionId: 342
                      CreatedDate: 2024-07-22T00:00:00.0000000Z
                      StartDate: 2024-07-22T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 1
                      HighWatermarkGigabytes: 0
                  - ProductName: Pillr Compliance Storage
                    Licenses:
                    - SubscriptionId: 321
                      CreatedDate: 2024-07-10T00:00:00.0000000Z
                      StartDate: 2024-07-10T00:00:00.0000000Z
                      EndDate: 
                      Status: Active
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 12.300000000000001
                    - SubscriptionId: 113
                      CreatedDate: 2024-07-11T00:00:00.0000000Z
                      StartDate: 2024-07-11T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 1.1000000000000001
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/pillr/EB95-7E15-71EF-49CA-B012/customers
  /api/status/reporting/pillr/{partnerkeycode}/customers/{customerkeycode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a customer-level summary report for a partner keycode by a customer keycode. The report includes information like the customer name and license type as well as high watermark data.
      operationId: StatusReporting_GetUsageReportPartner_Customer_Pillr
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 0902-715F-9EEA-4B8C-9E22
      - name: customerkeycode
        in: path
        required: true
        description: A customer keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 0687-9EC0-049E-4B84-AF11
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns customer-level usage statistics for a Pillr partner keycode and customer key code.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportPillr_Customer'
              example:
                ReportInfo:
                  CustomerKey: t58gnftrrvxg61utb2is
                  EffectiveDate: 2026-06-20T00:00:00.0000000Z
                  PartnerKey: wjk1ss3efmpn2oe8rd89
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: full
                Products:
                - ProductName: Pillr Platform
                  Licenses:
                  - SubscriptionId: 521
                    CreatedDate: 2024-07-12T00:00:00.0000000Z
                    StartDate: 2024-07-12T00:00:00.0000000Z
                    EndDate: 
                    Status: Active
                    HighWatermarkEndpoints: 25
                    HighWatermarkGigabytes: 0
                  - SubscriptionId: 522
                    CreatedDate: 2024-07-13T00:00:00.0000000Z
                    StartDate: 2024-07-13T00:00:00.0000000Z
                    EndDate: 
                    Status: Trial
                    HighWatermarkEndpoints: 18
                    HighWatermarkGigabytes: 0
                  - SubscriptionId: 523
                    CreatedDate: 2024-07-14T00:00:00.0000000Z
                    StartDate: 2024-07-14T00:00:00.0000000Z
                    EndDate: 
                    Status: NFR
                    HighWatermarkEndpoints: 2
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Platform Mobile
                  Licenses:
                  - SubscriptionId: 324
                    CreatedDate: 2024-07-12T00:00:00.0000000Z
                    StartDate: 2024-07-12T00:00:00.0000000Z
                    EndDate: 
                    Status: Active
                    HighWatermarkEndpoints: 25
                    HighWatermarkGigabytes: 0
                  - SubscriptionId: 331
                    CreatedDate: 2024-07-13T00:00:00.0000000Z
                    StartDate: 2024-07-13T00:00:00.0000000Z
                    EndDate: 
                    Status: Trial
                    HighWatermarkEndpoints: 18
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Platform Chromebook
                  Licenses:
                  - SubscriptionId: 224
                    CreatedDate: 2024-07-20T00:00:00.0000000Z
                    StartDate: 2024-07-20T00:00:00.0000000Z
                    EndDate: 
                    Status: Active
                    HighWatermarkEndpoints: 15
                    HighWatermarkGigabytes: 0
                  - SubscriptionId: 285
                    CreatedDate: 2024-07-22T00:00:00.0000000Z
                    StartDate: 2024-07-22T00:00:00.0000000Z
                    EndDate: 
                    Status: Trial
                    HighWatermarkEndpoints: 1
                    HighWatermarkGigabytes: 0
                - ProductName: Pillr Compliance Storage
                  Licenses:
                  - SubscriptionId: 122
                    CreatedDate: 2024-07-10T00:00:00.0000000Z
                    StartDate: 2024-07-10T00:00:00.0000000Z
                    EndDate: 
                    Status: Active
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 12.300000000000001
                  - SubscriptionId: 124
                    CreatedDate: 2024-07-11T00:00:00.0000000Z
                    StartDate: 2024-07-11T00:00:00.0000000Z
                    EndDate: 
                    Status: Trial
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 1.1000000000000001
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/pillr/0902-715F-9EEA-4B8C-9E22/customers/0687-9EC0-049E-4B84-AF11
  /api/status/reporting/pillr/{partnerkeycode}/customers/{customerkeycode}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report for a partner keycode by a customer keycode. For each endpoint the report includes information like the endpoint's agent id, hostname, mac address and its host ip data.
      operationId: StatusReporting_GetUsageReportPartner_Endpoints_Pillr
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: B7FE-924E-B883-4324-A53F
      - name: customerkeycode
        in: path
        required: true
        description: A customer keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: A363-4D0E-8975-4CA8-93D8
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: wel4FF-GFZS6lK7h
      responses:
        200:
          description: Returns endpoint-level usage statistics for a Pillr partner keycode and customer key code.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportPillr_Endpoint'
              example:
                ReportInfo:
                  ContinuationToken: mH3AfoZt62csnEF2
                  CustomerKey: rmgr2gqwltbwcmedxlrs
                  EffectiveDate: 2026-06-29T00:00:00.0000000Z
                  PartnerKey: zwd6l9567ljqfpkqj67x
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: full
                Products:
                - ProductName: Pillr Platform
                  Endpoints:
                  - AgentId: 12345678901234567890120
                    HostName: Host Name 0
                    MacAddress: 00:1A:2B:3C:4D:5A
                    HostIP: 192.168.0.0
                    MobileNumber: 
                    Heartbeat: 2024-10-11T16:17:52.0000000Z
                  - AgentId: 123456789012345678901231
                    HostName: Host Name 1
                    MacAddress: 00:1A:2B:3C:4D:5B
                    HostIP: 192.168.0.1
                    MobileNumber: 
                    Heartbeat: 2024-10-12T16:17:52.0000000Z
                  - AgentId: 123456789012345678901232
                    HostName: Host Name 2
                    MacAddress: 01:1A:2B:3C:4D:5C
                    HostIP: 192.168.0.2
                    MobileNumber: 
                    Heartbeat: 2024-10-13T16:17:52.0000000Z
                  - AgentId: 123456789012345678901233
                    HostName: Host Name 3
                    MacAddress: 02:1A:2B:3C:4D:5D
                    HostIP: 192.168.0.3
                    MobileNumber: 
                    Heartbeat: 2024-10-14T16:17:52.0000000Z
                - ProductName: Pillr Platform Mobile
                  Endpoints:
                  - AgentId: 123456789012345678901230
                    HostName: Host Name 4
                    MacAddress: 
                    HostIP: 192.168.0.4
                    MobileNumber: '......1234'
                    Heartbeat: 2024-10-10T16:17:52.0000000Z
                  - AgentId: 123456789012345678901234
                    HostName: Host Name 5
                    MacAddress: 
                    HostIP: 192.168.0.5
                    MobileNumber: '......2345'
                    Heartbeat: 2024-10-12T16:17:52.0000000Z
                  - AgentId: 123456789012345678901235
                    HostName: Host Name 6
                    MacAddress: 
                    HostIP: 192.168.0.6
                    MobileNumber: '......3456'
                    Heartbeat: 2024-10-13T16:17:52.0000000Z
                  - AgentId: 123456789012345678901236
                    HostName: Host Name 7
                    MacAddress: 
                    HostIP: 192.168.0.7
                    MobileNumber: '......4567'
                    Heartbeat: 2024-10-09T16:17:52.0000000Z
                - ProductName: Pillr Platform Chromebook
                  Endpoints:
                  - AgentId: 123456789012345678901237
                    HostName: Host Name 8
                    MacAddress: 03:1A:2B:3C:4D:5I
                    HostIP: 192.168.0.8
                    MobileNumber: 
                    Heartbeat: 2024-10-08T16:17:52.0000000Z
                  - AgentId: 123456789012345678901238
                    HostName: Host Name 9
                    MacAddress: 04:1A:2B:3C:4D:5J
                    HostIP: 192.168.0.9
                    MobileNumber: 
                    Heartbeat: 2024-10-10T16:17:52.0000000Z
                  - AgentId: 123456789012345678901239
                    HostName: Host Name 10
                    MacAddress: 05:1A:2B:3C:4D:5K
                    HostIP: 192.168.1.0
                    MobileNumber: 
                    Heartbeat: 2024-10-11T16:17:52.0000000Z
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/pillr/B7FE-924E-B883-4324-A53F/customers/A363-4D0E-8975-4CA8-93D8/endpoints
  /api/status/reporting/detectionandresponse/gsm/{gsmKey}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a GSM-level summary report for "Detection and Response" related products linked to a GSM master keycode. Besides general information like the GSM console name and the product license status the report includes high watermark data.
      operationId: StatusReporting_GetUsageReportGSM_DetectionAndResponse
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 49E0-43B3-6F8C-4307-8A8B
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns GSM-level usage statistics for "Detection and Response" related products for a GSM keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GSM'
              example:
                ReportInfo:
                  EffectiveDate: 2026-06-09T00:00:00.0000000Z
                  GSMKey: gwp1iq640wxijmgubldv
                General:
                  GSMConsoleName: GSM 8ZM0YDXXOU
                  GSMConsoleLicenseType: full
                Products:
                - ProductName: Endpoint Detection and Response
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 325
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 218
                    HighWatermarkGigabytes: 0
                - ProductName: Managed Detection and Response
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 25
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 18
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Mobile
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 15
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 7
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Chromebook
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 10
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 12
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Compliance Storage
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 12.300000000000001
                - ProductName: Managed Detection and Response Complete
                  Licenses:
                  - Status: Full
                    HighWatermarkEndpoints: 66
                    HighWatermarkGigabytes: 0
                  - Status: Trial
                    HighWatermarkEndpoints: 33
                    HighWatermarkGigabytes: 0
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/49E0-43B3-6F8C-4307-8A8B
  /api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report for "Detection and Response" related products linked to a GSM master keycode. For each site the report includes information like the site name and license type as well as high watermark data.
      operationId: StatusReporting_GetUsageReportSites_DetectionAndResponse
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 5576-0FA7-2270-4634-B6B7
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns a list of site specific usage statistics for "Detection and Response" related products linked to a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportDetectionAndResponse_Sites'
              example:
                ReportInfo:
                  EffectiveDate: 2026-06-11T00:00:00.0000000Z
                  GSMKey: 82nt91cgqxylc5o5vcb9
                General:
                  GSMConsoleName: GSM Console 1
                  GSMConsoleLicenseType: full
                Sites:
                - SiteName: Site 1
                  SiteLicenseType: trial
                  SiteKey: ag85i30cfcxxs6cpynpt
                  Products:
                  - ProductName: Endpoint Detection and Response
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Mobile
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Chromebook
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Trial
                      HighWatermarkEndpoints: 18
                      HighWatermarkGigabytes: 0
                - SiteName: Site 2
                  SiteLicenseType: full
                  SiteKey: uxa8zoacx981ed413slg
                  Products:
                  - ProductName: Managed Detection and Response
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 28
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Mobile
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 36
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Chromebook
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 45
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Compliance Storage
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 42.299999999999997
                - SiteName: Site 3
                  SiteLicenseType: full
                  SiteKey: a9boab2f28hixrpngaf3
                  Products:
                  - ProductName: Detection and Response Mobile
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 36
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Chromebook
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 45
                      HighWatermarkGigabytes: 0
                  - ProductName: Detection and Response Compliance Storage
                    License:
                      CreatedDate: 2024-07-13T00:00:00.0000000Z
                      StartDate: 2024-07-13T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 0
                      HighWatermarkGigabytes: 42.299999999999997
                  - ProductName: Managed Detection and Response Complete
                    License:
                      CreatedDate: 2024-07-10T00:00:00.0000000Z
                      StartDate: 2024-07-10T00:00:00.0000000Z
                      EndDate: 
                      Status: Full
                      HighWatermarkEndpoints: 28
                      HighWatermarkGigabytes: 0
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/5576-0FA7-2270-4634-B6B7/sites
  /api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites/{keyCode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report for "Detection and Response" related products linked to a GSM master keycode by a site keycode. The report includes information like the site name and license type, as well as high watermark data.
      operationId: StatusReporting_GetUsageReportSitesBySite_DetectionAndResponse
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 7964-7F76-C8CA-4056-9D68
      - 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: 4667-0659-A11A-4AF0-A254
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns site specific usage statistics for "Detection and Response" related products linked to a GSM master keycode by a site keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportDetectionAndResponse_Site'
              example:
                ReportInfo:
                  SiteKey: 154mitbv15gsr4ypwuus
                  EffectiveDate: 2026-07-04T00:00:00.0000000Z
                  GSMKey: ymij9aouxg7patdorhmk
                General:
                  SiteName: Site 1
                  SiteLicenseType: full
                  GSMConsoleName: GSM Console 1
                  GSMConsoleLicenseType: full
                Products:
                - ProductName: Endpoint Detection and Response
                  License:
                    CreatedDate: 2024-07-10T00:00:00.0000000Z
                    StartDate: 2024-07-10T00:00:00.0000000Z
                    EndDate: 
                    Status: Full
                    HighWatermarkEndpoints: 20
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Mobile
                  License:
                    CreatedDate: 2024-07-10T00:00:00.0000000Z
                    StartDate: 2024-07-10T00:00:00.0000000Z
                    EndDate: 
                    Status: Full
                    HighWatermarkEndpoints: 15
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Chromebook
                  License:
                    CreatedDate: 2024-07-10T00:00:00.0000000Z
                    StartDate: 2024-07-10T00:00:00.0000000Z
                    EndDate: 
                    Status: Full
                    HighWatermarkEndpoints: 15
                    HighWatermarkGigabytes: 0
                - ProductName: Detection and Response Compliance Storage
                  License:
                    CreatedDate: 2024-07-10T00:00:00.0000000Z
                    StartDate: 2024-07-10T00:00:00.0000000Z
                    EndDate: 
                    Status: Full
                    HighWatermarkEndpoints: 0
                    HighWatermarkGigabytes: 14.1
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/7964-7F76-C8CA-4056-9D68/sites/4667-0659-A11A-4AF0-A254
  /api/status/reporting/detectionandresponse/gsm/{gsmKey}/sites/{keyCode}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report for "Detection and Response" related products linked to a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's agent id, hostname, mac address and its host ip data.
      operationId: StatusReporting_GetUsageReportEndpoints_DetectionAndResponse
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 1038-9C05-FA66-4866-8617
      - 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: 7432-D1DB-7B58-4254-92B8
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: 4alYFqYwc9VRjcQa
      responses:
        200:
          description: Returns a list of endpoint usage statistics for "Detection and Response" related products linked to a GSM master keycode by a site keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportDetectionAndResponse_Endpoint'
              example:
                ReportInfo:
                  ContinuationToken: -hC9f21E_KLSPxAq
                  SiteKey: 8sdj7ak24grplsv8bhht
                  EffectiveDate: 2026-06-21T00:00:00.0000000Z
                  GSMKey: y1j2g0piybr9731czdxu
                General:
                  SiteName: Site 1
                  SiteLicenseType: full
                  GSMConsoleName: GSM Console 1
                  GSMConsoleLicenseType: full
                Products:
                - ProductName: Endpoint Detection and Response
                  Endpoints:
                  - AgentId: 123456789012345678901240
                    HostName: Host Name 11
                    MacAddress: 03:1A:2B:3C:4D:5J
                    HostIP: 192.168.0.11
                    MobileNumber: 
                    Heartbeat: 2024-10-08T16:17:52.0000000Z
                  - AgentId: 123456789012345678901241
                    HostName: Host Name 12
                    MacAddress: 04:1A:2B:3C:4D:5K
                    HostIP: 192.168.0.12
                    MobileNumber: 
                    Heartbeat: 2024-10-10T16:17:52.0000000Z
                  - AgentId: 123456789012345678901244
                    HostName: Host Name 13
                    MacAddress: 05:1A:2B:3C:4D:5L
                    HostIP: 192.168.1.12
                    MobileNumber: 
                    Heartbeat: 2024-10-11T16:17:52.0000000Z
                - ProductName: Detection and Response Mobile
                  Endpoints:
                  - AgentId: 123456789012345678901247
                    HostName: Host Name 17
                    MacAddress: 
                    HostIP: 192.168.0.14
                    MobileNumber: '......1234'
                    Heartbeat: 2024-10-08T16:17:52.0000000Z
                  - AgentId: 123456789012345678901248
                    HostName: Host Name 18
                    MacAddress: 
                    HostIP: 192.168.0.15
                    MobileNumber: '......2345'
                    Heartbeat: 2024-10-10T16:17:52.0000000Z
                  - AgentId: 123456789012345678901249
                    HostName: Host Name 19
                    MacAddress: 
                    HostIP: 192.168.1.16
                    MobileNumber: '......3456'
                    Heartbeat: 2024-10-11T16:17:52.0000000Z
                - ProductName: Detection and Response Chromebook
                  Endpoints:
                  - AgentId: 123456789012345678901250
                    HostName: Host Name 20
                    MacAddress: 03:1A:2B:3C:4D:5S
                    HostIP: 192.168.0.14
                    MobileNumber: 
                    Heartbeat: 2024-10-08T16:17:52.0000000Z
                  - AgentId: 123456789012345678901251
                    HostName: Host Name 21
                    MacAddress: 04:1A:2B:3C:4D:5T
                    HostIP: 192.168.0.15
                    MobileNumber: 
                    Heartbeat: 2024-10-10T16:17:52.0000000Z
                  - AgentId: 123456789012345678901252
                    HostName: Host Name 22
                    MacAddress: 05:1A:2B:3C:4D:5U
                    HostIP: 192.168.1.16
                    MobileNumber: 
                    Heartbeat: 2024-10-11T16:17:52.0000000Z
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/1038-9C05-FA66-4866-8617/sites/7432-D1DB-7B58-4254-92B8/endpoints
  /api/status/reporting/crsb/gsm/{gsmKey}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a GSM-level summary report of "OTSB" usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report also includes the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportGSM_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 94A6-571A-B744-4666-B499
      - name: reportType
        in: query
        description: "The type of OTSB report to generate. Supported values include: \n- \"All\": OTSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": OTSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns OTSB usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_GSM'
              example:
                ReportInfo:
                  EffectiveDate: 2026-07-05T00:00:00.0000000Z
                  GSMKey: ac80fjfz5cp7uahcpq89
                  ReportType: All
                GSM:
                  GSMConsoleName: GSM Test
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    ExpiryDate: 2026-06-06T00:00:00.0000000Z
                    BYOCUsage:
                    - Type: Last30Days
                      Endpoints: 5
                      TotalFullEndpoints: 0
                      TotalTrialEndpoints: 5
                  - ProductName: OTHC
                    LicenseType: full
                    ExpiryDate: 2026-10-14T00:00:00.0000000Z
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 2.2000000000000002
                      TotalFullStorageUsedStandard: 2.2000000000000002
                      TotalTrialStorageUsedStandard: 0
                      TotalStorageUsedCustom: 0.69999999999999996
                      TotalFullStorageUsedCustom: 0.69999999999999996
                      TotalTrialStorageUsedCustom: 0
                      BackupUnitsStandard: 8
                      FullBackupUnitsStandard: 8
                      TrialBackupUnitsStandard: 0
                      BackupUnitsCustom: 4
                      FullBackupUnitsCustom: 4
                      TrialBackupUnitsCustom: 0
                      BackupUnits: 12
                      TotalFullBackupUnits: 12
                      TotalTrialBackupUnits: 0
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879?reportType=All&effectiveDate=2025-02-15T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/sites:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report of "OTSB" usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportSites_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 61AA-A64F-620B-4C0A-B80E
      - name: reportType
        in: query
        description: "The type of OTSB report to generate. The following values are supported: \n- \"All\": OTSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": OTSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns site level OTSB usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_Sites'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: 
                  EffectiveDate: 2026-06-23T00:00:00.0000000Z
                  GSMKey: kbu9azw5ituvyaohu7ep
                  ReportType: All
                Sites:
                - SiteId: 59b883c4-6b54-69d1-2c2a-3102a299454b
                  SiteKey: ont7oxhfmklvyswkcvyg
                  SiteName: Site 5WZCHJTXM0
                  SiteStatus: full
                  LicenseType: full
                  BackupType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    ExpiryDate: 2026-06-06T00:00:00.0000000Z
                    BYOCUsage:
                    - Type: Last30Days
                      Endpoints: 5
                      TotalFullEndpoints: 0
                      TotalTrialEndpoints: 5
                  - ProductName: OTHC
                    LicenseType: full
                    ExpiryDate: 2027-01-22T00:00:00.0000000Z
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 2.2000000000000002
                      TotalFullStorageUsedStandard: 2.2000000000000002
                      TotalTrialStorageUsedStandard: 0
                      TotalStorageUsedCustom: 0.69999999999999996
                      TotalFullStorageUsedCustom: 0.69999999999999996
                      TotalTrialStorageUsedCustom: 0
                      BackupUnitsStandard: 8
                      FullBackupUnitsStandard: 8
                      TrialBackupUnitsStandard: 0
                      BackupUnitsCustom: 4
                      FullBackupUnitsCustom: 4
                      TrialBackupUnitsCustom: 0
                      BackupUnits: 12
                      TotalFullBackupUnits: 12
                      TotalTrialBackupUnits: 0
                - SiteId: 2891d5ee-0bb7-3f9e-6df1-006834e84fc4
                  SiteKey: ga2j4kvs1nbo2ixgx1xr
                  SiteName: Site 0FDU2WEXKU
                  SiteStatus: full
                  LicenseType: trial
                  BackupType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    ExpiryDate: 2026-06-06T00:00:00.0000000Z
                    BYOCUsage:
                    - Type: Last30Days
                      Endpoints: 5
                      TotalFullEndpoints: 0
                      TotalTrialEndpoints: 5
                  - ProductName: OTHC
                    LicenseType: full
                    ExpiryDate: 2027-01-22T00:00:00.0000000Z
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 2.2000000000000002
                      TotalFullStorageUsedStandard: 2.2000000000000002
                      TotalTrialStorageUsedStandard: 0
                      TotalStorageUsedCustom: 0.69999999999999996
                      TotalFullStorageUsedCustom: 0.69999999999999996
                      TotalTrialStorageUsedCustom: 0
                      BackupUnitsStandard: 8
                      FullBackupUnitsStandard: 8
                      TrialBackupUnitsStandard: 0
                      BackupUnitsCustom: 4
                      FullBackupUnitsCustom: 4
                      TrialBackupUnitsCustom: 0
                      BackupUnits: 12
                      TotalFullBackupUnits: 12
                      TotalTrialBackupUnits: 0
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites?reportType=All&effectiveDate=2025-07-11T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report of "OTSB" usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportSite_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: CA52-3506-F626-4355-A622
      - 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: 6342-7DC9-CBC6-4ECD-A7E4
      - name: reportType
        in: query
        description: "The type of OTSB report to generate. The following values are supported: \n- \"All\": OTSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": OTSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns site level OTSB usage statistics for a GSM master keycode by a site keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_Site'
              example:
                ReportInfo:
                  Count: 1
                  SiteKeyFilter: 5nv6pmzqyi0cnr33unc6
                  EffectiveDate: 2026-06-30T00:00:00.0000000Z
                  GSMKey: m2ebtafyjzoe892ga5kv
                  ReportType: All
                Sites:
                - SiteId: 3ee47fad-6565-6e6c-5644-5cf814225244
                  SiteKey: 5nv6pmzqyi0cnr33unc6
                  SiteName: Site OFE09S4CIT
                  SiteStatus: full
                  LicenseType: full
                  BackupType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    ExpiryDate: 2026-06-06T00:00:00.0000000Z
                    BYOCUsage:
                    - Type: Last30Days
                      Endpoints: 5
                      TotalFullEndpoints: 0
                      TotalTrialEndpoints: 5
                  - ProductName: OTHC
                    LicenseType: full
                    ExpiryDate: 2027-01-22T00:00:00.0000000Z
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 2.2000000000000002
                      TotalFullStorageUsedStandard: 2.2000000000000002
                      TotalTrialStorageUsedStandard: 0
                      TotalStorageUsedCustom: 0.69999999999999996
                      TotalFullStorageUsedCustom: 0.69999999999999996
                      TotalTrialStorageUsedCustom: 0
                      BackupUnitsStandard: 8
                      FullBackupUnitsStandard: 8
                      TrialBackupUnitsStandard: 0
                      BackupUnitsCustom: 4
                      FullBackupUnitsCustom: 4
                      TrialBackupUnitsCustom: 0
                      BackupUnits: 12
                      TotalFullBackupUnits: 12
                      TotalTrialBackupUnits: 0
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48?reportType=All&effectiveDate=2025-02-24T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report of "OTSB" usage for a GSM master keycode. For each endpoint, the report includes information like the endpoint's hostname, device type, activation status  and a 30 day history of endpoint usage.
      description: '**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.'
      operationId: StatusReporting_GetUsageReportCRSBEndpoints
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: B4EC-45E2-2ABB-40E2-A280
      - name: reportType
        in: query
        description: "The type of OTSB report to generate. The following values are supported: \n- \"All\": OTSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": OTSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: wTV6ZYGb30jTNiC6
      responses:
        200:
          description: Returns a list of OTSB endpoint usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportGSMEndpoints_CRSB'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: 
                  ContinuationToken: -GLaibBarU6MtNsC
                  EffectiveDate: 2026-06-07T00:00:00.0000000Z
                  GSMKey: g34w0ntxkokf8efdk7qa
                  ReportType: All
                Endpoints:
                - BackupDeviceId: bfac0dd3-4d5c-46e0-b8bd-3e479a414c15
                  SiteId: 5982385c-3b56-359f-4e14-6ea616517b21
                  SiteKey: nmm4a28l7nyidvtkd513
                  HostName: NODEBCMLIKS2SP
                  DeviceType: MAC
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-05-28T19:40:30.3059099Z
                  FirstSeen: 2026-04-23T08:05:30.3059099Z
                  LastSeen: 2026-04-24T08:05:30.3059099Z
                  LastBackup: 2026-05-22T20:55:30.3059099Z
                  SubscriptionType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    BYOCUsage:
                    - Type: Last30Days
                      UsageByDate:
                      - UsageDate: 2026-06-07T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-06T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-05T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-04T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-03T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-02T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-01T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-05-31T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-30T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-29T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-28T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-27T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-26T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-25T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-24T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-23T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-22T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-21T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-20T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-19T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-18T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-17T00:00:00.0000000Z
                        LicenseType: trial
                  - ProductName: OTHC
                    LicenseType: full
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 5
                      TotalStorageUsedCustom: 5
                      TotalFullStorageUsedStandard: 5
                      TotalFullStorageUsedCustom: 5
                      TotalTrialStorageUsedStandard: 0
                      TotalTrialStorageUsedCustom: 0
                      UsageByDate:
                      - UsageDate: 2026-06-07T00:00:00.0000000Z
                        StandardStorage: 5
                        CustomStorage: 5
                        LicenseType: full
                      - UsageDate: 2026-06-06T00:00:00.0000000Z
                        StandardStorage: 8
                        CustomStorage: 8
                        LicenseType: full
                      - UsageDate: 2026-06-05T00:00:00.0000000Z
                        StandardStorage: 9
                        CustomStorage: 9
                        LicenseType: full
                      - UsageDate: 2026-06-04T00:00:00.0000000Z
                        StandardStorage: 8
                        CustomStorage: 8
                        LicenseType: full
                      - UsageDate: 2026-06-03T00:00:00.0000000Z
                        StandardStorage: 3
                        CustomStorage: 3
                        LicenseType: full
                      - UsageDate: 2026-06-02T00:00:00.0000000Z
                        StandardStorage: 9
                        CustomStorage: 9
                        LicenseType: full
                      - UsageDate: 2026-06-01T00:00:00.0000000Z
                        StandardStorage: 1
                        CustomStorage: 1
                        LicenseType: full
                      - UsageDate: 2026-05-31T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                - BackupDeviceId: 588c5d20-8647-412b-b5e6-616d52921b47
                  SiteId: 22f29df4-2a8f-7b02-32f0-348413ce2dca
                  SiteKey: t3bdn6znr8brzpw2sjbw
                  HostName: NODEVMSXGCUN6M
                  DeviceType: MAC
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-05-20T14:05:30.3059099Z
                  FirstSeen: 2026-05-05T11:57:30.3059099Z
                  LastSeen: 2026-05-06T11:57:30.3059099Z
                  LastBackup: 2026-05-27T08:23:30.3059099Z
                  SubscriptionType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    BYOCUsage:
                    - Type: Last30Days
                      UsageByDate:
                      - UsageDate: 2026-06-07T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-06T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-05T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-04T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-03T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-02T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-01T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-05-31T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-30T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-29T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-28T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-27T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-26T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-25T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-24T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-23T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-22T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-21T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-20T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-19T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-18T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-05-17T00:00:00.0000000Z
                        LicenseType: trial
                  - ProductName: OTHC
                    LicenseType: full
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 5
                      TotalStorageUsedCustom: 5
                      TotalFullStorageUsedStandard: 5
                      TotalFullStorageUsedCustom: 5
                      TotalTrialStorageUsedStandard: 0
                      TotalTrialStorageUsedCustom: 0
                      UsageByDate:
                      - UsageDate: 2026-06-07T00:00:00.0000000Z
                        StandardStorage: 6
                        CustomStorage: 6
                        LicenseType: full
                      - UsageDate: 2026-06-06T00:00:00.0000000Z
                        StandardStorage: 3
                        CustomStorage: 3
                        LicenseType: full
                      - UsageDate: 2026-06-05T00:00:00.0000000Z
                        StandardStorage: 5
                        CustomStorage: 5
                        LicenseType: full
                      - UsageDate: 2026-06-04T00:00:00.0000000Z
                        StandardStorage: 2
                        CustomStorage: 2
                        LicenseType: full
                      - UsageDate: 2026-06-03T00:00:00.0000000Z
                        StandardStorage: 2
                        CustomStorage: 2
                        LicenseType: full
                      - UsageDate: 2026-06-02T00:00:00.0000000Z
                        StandardStorage: 8
                        CustomStorage: 8
                        LicenseType: full
                      - UsageDate: 2026-06-01T00:00:00.0000000Z
                        StandardStorage: 5
                        CustomStorage: 5
                        LicenseType: full
                      - UsageDate: 2026-05-31T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z&continuation=n2Lek49F3pOdYt6T
  /api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report of "OTSB" usage for a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's hostname, device type, activation status  and a 30 day history of endpoint usage.
      description: '**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.'
      operationId: StatusReporting_GetUsageReportCRSBEndpoints2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 2176-60A4-4F6D-4D5D-BEF8
      - 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: 911B-C04A-7E5F-4E55-9A5D
      - name: reportType
        in: query
        description: "The type of OTSB report to generate. The following values are supported: \n- \"All\": OTSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": OTSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 4R0rupysNjeWtHme
      responses:
        200:
          description: Returns a list of OTSB endpoint usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportSiteEndpoints_CRSB'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: v6be4kqevpzqlvdyq2t4
                  ContinuationToken: 1VOv1ItaZKxFWov-
                  EffectiveDate: 2026-07-04T00:00:00.0000000Z
                  GSMKey: xbhsdp37wjkke8dovaka
                  ReportType: All
                Endpoints:
                - BackupDeviceId: 8ea5d306-2d99-4e5c-b8f6-f9f36b491abb
                  SiteId: 62b6b172-1d53-2ded-0432-21a6f1d93baf
                  SiteKey: v6be4kqevpzqlvdyq2t4
                  HostName: NODE5NXP7DLJWO
                  DeviceType: Windows
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-06-24T01:25:30.3235754Z
                  FirstSeen: 2026-05-08T04:51:30.3235754Z
                  LastSeen: 2026-05-09T04:51:30.3235754Z
                  LastBackup: 2026-06-21T02:59:30.3235754Z
                  SubscriptionType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    BYOCUsage:
                    - Type: Last30Days
                      UsageByDate:
                      - UsageDate: 2026-07-04T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-03T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-02T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-01T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-30T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-29T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-28T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-27T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-26T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-25T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-24T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-23T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-22T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-21T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-20T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-19T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-18T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-17T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-16T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-15T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-14T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-13T00:00:00.0000000Z
                        LicenseType: trial
                  - ProductName: OTHC
                    LicenseType: full
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 5
                      TotalStorageUsedCustom: 5
                      TotalFullStorageUsedStandard: 5
                      TotalFullStorageUsedCustom: 5
                      TotalTrialStorageUsedStandard: 0
                      TotalTrialStorageUsedCustom: 0
                      UsageByDate:
                      - UsageDate: 2026-07-04T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-07-03T00:00:00.0000000Z
                        StandardStorage: 6
                        CustomStorage: 6
                        LicenseType: full
                      - UsageDate: 2026-07-02T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-07-01T00:00:00.0000000Z
                        StandardStorage: 7
                        CustomStorage: 7
                        LicenseType: full
                      - UsageDate: 2026-06-30T00:00:00.0000000Z
                        StandardStorage: 3
                        CustomStorage: 3
                        LicenseType: full
                      - UsageDate: 2026-06-29T00:00:00.0000000Z
                        StandardStorage: 6
                        CustomStorage: 6
                        LicenseType: full
                      - UsageDate: 2026-06-28T00:00:00.0000000Z
                        StandardStorage: 3
                        CustomStorage: 3
                        LicenseType: full
                      - UsageDate: 2026-06-27T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                - BackupDeviceId: fb534d41-9179-4aad-b04a-a72e946549cf
                  SiteId: 62b6b172-1d53-2ded-0432-21a6f1d93baf
                  SiteKey: v6be4kqevpzqlvdyq2t4
                  HostName: NODEN80BFXJZKP
                  DeviceType: MAC
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-06-20T20:56:30.3235754Z
                  FirstSeen: 2026-05-13T16:46:30.3235754Z
                  LastSeen: 2026-05-14T16:46:30.3235754Z
                  LastBackup: 2026-06-17T09:40:30.3235754Z
                  SubscriptionType: othosted
                  Products:
                  - ProductName: BYOC
                    LicenseType: trial
                    BYOCUsage:
                    - Type: Last30Days
                      UsageByDate:
                      - UsageDate: 2026-07-04T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-03T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-02T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-07-01T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-30T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-29T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-28T00:00:00.0000000Z
                        LicenseType: full
                      - UsageDate: 2026-06-27T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-26T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-25T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-24T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-23T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-22T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-21T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-20T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-19T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-18T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-17T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-16T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-15T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-14T00:00:00.0000000Z
                        LicenseType: trial
                      - UsageDate: 2026-06-13T00:00:00.0000000Z
                        LicenseType: trial
                  - ProductName: OTHC
                    LicenseType: full
                    OTHCUsage:
                    - Type: Last30Days
                      TotalStorageUsedStandard: 5
                      TotalStorageUsedCustom: 5
                      TotalFullStorageUsedStandard: 5
                      TotalFullStorageUsedCustom: 5
                      TotalTrialStorageUsedStandard: 0
                      TotalTrialStorageUsedCustom: 0
                      UsageByDate:
                      - UsageDate: 2026-07-04T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-07-03T00:00:00.0000000Z
                        StandardStorage: 5
                        CustomStorage: 5
                        LicenseType: full
                      - UsageDate: 2026-07-02T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-07-01T00:00:00.0000000Z
                        StandardStorage: 8
                        CustomStorage: 8
                        LicenseType: full
                      - UsageDate: 2026-06-30T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-06-29T00:00:00.0000000Z
                        StandardStorage: 4
                        CustomStorage: 4
                        LicenseType: full
                      - UsageDate: 2026-06-28T00:00:00.0000000Z
                        StandardStorage: 7
                        CustomStorage: 7
                        LicenseType: full
                      - UsageDate: 2026-06-27T00:00:00.0000000Z
                        StandardStorage: 8
                        CustomStorage: 8
                        LicenseType: full
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z&continuation=d2Lek49F3pOdYt6T
  /api/status/reporting/cloudally/{partnerkeycode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a partner-level summary usage report for a partner keycode. Besides general information like the partner's name the report includes high watermark data and breakdown details.
      operationId: StatusReporting_GetUsageReportPartner_Cloudally
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 7E20-FCDC-A495-492D-8CA4
      - name: reportType
        in: query
        description: "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns partner-level usage statistics for a Cloudally partner keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCloudally_Partner'
              example:
                ReportInfo:
                  EffectiveDate: 2026-06-19T00:00:00.0000000Z
                  PartnerKey: 8oq6c20vhlsdtqcrr7i3
                  ReportType: Last30Days
                General:
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2026-10-02T00:00:00.0000000Z
                Products:
                - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1500
                  HighWatermarkGigabytes: 150.5
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Dropbox 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 1200
                  HighWatermarkGigabytes: 120.8
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Google Workspace 1x Daily Backup
                  HighWatermarkEndpoints: 800
                  HighWatermarkGigabytes: 95.299999999999997
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Salesforce Cloud 1x Daily Backup
                  HighWatermarkEndpoints: 500
                  HighWatermarkGigabytes: 75.200000000000003
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 600
                  HighWatermarkGigabytes: 85.700000000000003
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Box 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 400
                  HighWatermarkGigabytes: 65.099999999999994
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: M365 1x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: MS Exchange 1x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1600
                  HighWatermarkGigabytes: 160.59999999999999
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Dropbox 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 1300
                  HighWatermarkGigabytes: 130.19999999999999
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Google Workspace 3x Daily Backup
                  HighWatermarkEndpoints: 900
                  HighWatermarkGigabytes: 105.8
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Salesforce Cloud 3x Daily Backup
                  HighWatermarkEndpoints: 550
                  HighWatermarkGigabytes: 85.400000000000006
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 650
                  HighWatermarkGigabytes: 95.900000000000006
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: Box 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 450
                  HighWatermarkGigabytes: 75.299999999999997
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: M365 3x Daily Backup
                  HighWatermarkEndpoints: 2200
                  HighWatermarkGigabytes: 220.69999999999999
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
                - ProductName: MS Exchange 3x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-05-23T00:00:00.0000000Z
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z
  /api/status/reporting/cloudally/{partnerkeycode}/customers:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a customer-level summary usage report for a partner keycode. For each customer the report includes information like the customer name as well as high watermark data and breakdown details.
      operationId: StatusReporting_GetUsageReportCustomers_Cloudally
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 5876-DB32-12B8-4C28-BE12
      - name: reportType
        in: query
        description: "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns customer-level usage statistics for a Cloudally partner keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCloudally_Customers'
              example:
                ReportInfo:
                  EffectiveDate: 2026-06-16T00:00:00.0000000Z
                  PartnerKey: jgh8bhpu6tpr06u2rqpv
                  ReportType: Last30Days
                General:
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2026-10-25T00:00:00.0000000Z
                Customers:
                - CustomerKey: axg8c6mtdt94q4le4edc
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2026-10-25T00:00:00.0000000Z
                  Products:
                  - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1500
                    HighWatermarkGigabytes: 150.5
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 120.8
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Workspace 1x Daily Backup
                    HighWatermarkEndpoints: 800
                    HighWatermarkGigabytes: 95.299999999999997
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 1x Daily Backup
                    HighWatermarkEndpoints: 500
                    HighWatermarkGigabytes: 75.200000000000003
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 600
                    HighWatermarkGigabytes: 85.700000000000003
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Box 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 400
                    HighWatermarkGigabytes: 65.099999999999994
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 1x Daily Backup
                    HighWatermarkEndpoints: 1800
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: MS Exchange 1x Daily Backup
                    HighWatermarkEndpoints: 1800
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1600
                    HighWatermarkGigabytes: 160.59999999999999
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 1300
                    HighWatermarkGigabytes: 130.19999999999999
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Workspace 3x Daily Backup
                    HighWatermarkEndpoints: 900
                    HighWatermarkGigabytes: 105.8
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 3x Daily Backup
                    HighWatermarkEndpoints: 550
                    HighWatermarkGigabytes: 85.400000000000006
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 650
                    HighWatermarkGigabytes: 95.900000000000006
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Box 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 450
                    HighWatermarkGigabytes: 75.299999999999997
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 3x Daily Backup
                    HighWatermarkEndpoints: 1900
                    HighWatermarkGigabytes: 190.5
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: MS Exchange 3x Daily Backup
                    HighWatermarkEndpoints: 1910
                    HighWatermarkGigabytes: 180.5
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                - CustomerKey: ei9z4g4njd0tj8fw9i5e
                  CustomerName: Customer 2
                  CustomerId: CUST002
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2026-10-25T00:00:00.0000000Z
                  Products:
                  - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 110
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 1000
                    HighWatermarkGigabytes: 110.8
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Workspace 1x Daily Backup
                    HighWatermarkEndpoints: 850
                    HighWatermarkGigabytes: 95.299999999999997
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 1x Daily Backup
                    HighWatermarkEndpoints: 570
                    HighWatermarkGigabytes: 75.200000000000003
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 620
                    HighWatermarkGigabytes: 85.700000000000003
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Box 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 410
                    HighWatermarkGigabytes: 65.099999999999994
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 1x Daily Backup
                    HighWatermarkEndpoints: 1500
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: MS Exchange 1x Daily Backup
                    HighWatermarkEndpoints: 1900
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 160.59999999999999
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 1100
                    HighWatermarkGigabytes: 130.19999999999999
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Workspace 3x Daily Backup
                    HighWatermarkEndpoints: 700
                    HighWatermarkGigabytes: 105.8
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 3x Daily Backup
                    HighWatermarkEndpoints: 450
                    HighWatermarkGigabytes: 85.400000000000006
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 350
                    HighWatermarkGigabytes: 95.900000000000006
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: Box 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 350
                    HighWatermarkGigabytes: 75.299999999999997
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: M365 3x Daily Backup
                    HighWatermarkEndpoints: 1600
                    HighWatermarkGigabytes: 190.5
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
                  - ProductName: MS Exchange 3x Daily Backup
                    HighWatermarkEndpoints: 1410
                    HighWatermarkGigabytes: 180.5
                    HighWatermarkDate: 2026-06-12T00:00:00.0000000Z
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879/customers?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z
  /api/status/reporting/cloudally/{partnerkeycode}/customers/{customerkeycode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a customer-level summary usage report for a partner keycode by a customer keycode. The report includes information like the customer name as well as high watermark data and breakdown details.
      operationId: StatusReporting_GetUsageReportCustomer_Cloudally
      parameters:
      - name: partnerkeycode
        in: path
        required: true
        description: A partner keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 3C4D-1A72-5692-46AE-A591
      - name: customerkeycode
        in: path
        required: true
        description: A customer keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: A4D2-69D1-5E40-4EED-9B00
      - name: reportType
        in: query
        description: "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-01T00:00:00.0000000Z
      responses:
        200:
          description: Returns customer-level usage statistics for Cloudally partner keycode and customer key code.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCloudally_Customer'
              example:
                ReportInfo:
                  CustomerKey: n1vr2e2tyx4bffz4kl0u
                  EffectiveDate: 2026-06-10T00:00:00.0000000Z
                  PartnerKey: oof7qqp36iigtl6c9hvy
                  ReportType: All
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2027-01-21T00:00:00.0000000Z
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2027-01-21T00:00:00.0000000Z
                Products:
                - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1500
                  HighWatermarkGigabytes: 150.5
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 60
                    BackedUpStorage: 80
                    BillableEntities: 90
                    BillableStorage: 30
                  - BreakdownType: Active
                    BackedUpEntities: 16
                    BackedUpStorage: 20
                    BillableEntities: 56
                    BillableStorage: 70
                  - BreakdownType: Paused
                    BackedUpEntities: 150
                    BackedUpStorage: 40
                    BillableEntities: 30
                    BillableStorage: 70
                  - BreakdownType: Archived
                    BackedUpEntities: 10
                    BackedUpStorage: 20
                    BillableEntities: 70
                    BillableStorage: 90
                  - BreakdownType: Licensed
                    BackedUpEntities: 56
                    BackedUpStorage: 60
                    BillableEntities: 78
                    BillableStorage: 120
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 76
                    BackedUpStorage: 79
                    BillableEntities: 23
                    BillableStorage: 50
                - ProductName: Dropbox 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 1200
                  HighWatermarkGigabytes: 120.8
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 80
                    BackedUpStorage: 95
                    BillableEntities: 110
                    BillableStorage: 120
                  - BreakdownType: Active
                    BackedUpEntities: 70
                    BackedUpStorage: 85
                    BillableEntities: 100
                    BillableStorage: 110
                  - BreakdownType: Paused
                    BackedUpEntities: 10
                    BackedUpStorage: 10
                    BillableEntities: 10
                    BillableStorage: 10
                  - BreakdownType: Archived
                    BackedUpEntities: 0
                    BackedUpStorage: 0
                    BillableEntities: 0
                    BillableStorage: 0
                  - BreakdownType: Licensed
                    BackedUpEntities: 75
                    BackedUpStorage: 90
                    BillableEntities: 105
                    BillableStorage: 115
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: Google Workspace 1x Daily Backup
                  HighWatermarkEndpoints: 800
                  HighWatermarkGigabytes: 95.299999999999997
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 65
                    BackedUpStorage: 75
                    BillableEntities: 85
                    BillableStorage: 95
                  - BreakdownType: Active
                    BackedUpEntities: 55
                    BackedUpStorage: 65
                    BillableEntities: 75
                    BillableStorage: 85
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 60
                    BackedUpStorage: 70
                    BillableEntities: 80
                    BillableStorage: 90
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: Salesforce Cloud 1x Daily Backup
                  HighWatermarkEndpoints: 500
                  HighWatermarkGigabytes: 75.200000000000003
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 45
                    BackedUpStorage: 55
                    BillableEntities: 65
                    BillableStorage: 75
                  - BreakdownType: Active
                    BackedUpEntities: 40
                    BackedUpStorage: 50
                    BillableEntities: 60
                    BillableStorage: 70
                  - BreakdownType: Paused
                    BackedUpEntities: 3
                    BackedUpStorage: 3
                    BillableEntities: 3
                    BillableStorage: 3
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 42
                    BackedUpStorage: 52
                    BillableEntities: 62
                    BillableStorage: 72
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 3
                    BackedUpStorage: 3
                    BillableEntities: 3
                    BillableStorage: 3
                - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 600
                  HighWatermarkGigabytes: 85.700000000000003
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 50
                    BackedUpStorage: 70
                    BillableEntities: 70
                    BillableStorage: 85
                  - BreakdownType: Active
                    BackedUpEntities: 45
                    BackedUpStorage: 65
                    BillableEntities: 65
                    BillableStorage: 80
                  - BreakdownType: Paused
                    BackedUpEntities: 4
                    BackedUpStorage: 4
                    BillableEntities: 4
                    BillableStorage: 4
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 48
                    BackedUpStorage: 68
                    BillableEntities: 68
                    BillableStorage: 83
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                - ProductName: Box 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 400
                  HighWatermarkGigabytes: 65.099999999999994
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 35
                    BackedUpStorage: 55
                    BillableEntities: 50
                    BillableStorage: 65
                  - BreakdownType: Active
                    BackedUpEntities: 32
                    BackedUpStorage: 52
                    BillableEntities: 47
                    BillableStorage: 62
                  - BreakdownType: Paused
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 33
                    BackedUpStorage: 53
                    BillableEntities: 48
                    BillableStorage: 63
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                - ProductName: M365 1x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 180
                    BackedUpStorage: 190
                    BillableEntities: 195
                    BillableStorage: 200
                  - BreakdownType: Active
                    BackedUpEntities: 170
                    BackedUpStorage: 180
                    BillableEntities: 185
                    BillableStorage: 190
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 175
                    BackedUpStorage: 185
                    BillableEntities: 190
                    BillableStorage: 195
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: MS Exchange 1x Daily Backup
                  HighWatermarkEndpoints: 1000
                  HighWatermarkGigabytes: 100.90000000000001
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 150
                    BackedUpStorage: 190
                    BillableEntities: 195
                    BillableStorage: 200
                  - BreakdownType: Active
                    BackedUpEntities: 160
                    BackedUpStorage: 180
                    BillableEntities: 185
                    BillableStorage: 190
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 175
                    BackedUpStorage: 185
                    BillableEntities: 190
                    BillableStorage: 195
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1600
                  HighWatermarkGigabytes: 160.59999999999999
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 140
                    BackedUpStorage: 150
                    BillableEntities: 155
                    BillableStorage: 160
                  - BreakdownType: Active
                    BackedUpEntities: 130
                    BackedUpStorage: 140
                    BillableEntities: 145
                    BillableStorage: 150
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 135
                    BackedUpStorage: 145
                    BillableEntities: 150
                    BillableStorage: 155
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: Dropbox 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 1300
                  HighWatermarkGigabytes: 130.19999999999999
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 115
                    BackedUpStorage: 125
                    BillableEntities: 130
                    BillableStorage: 130
                  - BreakdownType: Active
                    BackedUpEntities: 110
                    BackedUpStorage: 120
                    BillableEntities: 125
                    BillableStorage: 125
                  - BreakdownType: Paused
                    BackedUpEntities: 4
                    BackedUpStorage: 4
                    BillableEntities: 4
                    BillableStorage: 4
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 112
                    BackedUpStorage: 122
                    BillableEntities: 127
                    BillableStorage: 127
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 3
                    BackedUpStorage: 3
                    BillableEntities: 3
                    BillableStorage: 3
                - ProductName: Google Workspace 3x Daily Backup
                  HighWatermarkEndpoints: 900
                  HighWatermarkGigabytes: 105.8
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 85
                    BackedUpStorage: 95
                    BillableEntities: 100
                    BillableStorage: 105
                  - BreakdownType: Active
                    BackedUpEntities: 80
                    BackedUpStorage: 90
                    BillableEntities: 95
                    BillableStorage: 100
                  - BreakdownType: Paused
                    BackedUpEntities: 4
                    BackedUpStorage: 4
                    BillableEntities: 4
                    BillableStorage: 4
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 82
                    BackedUpStorage: 92
                    BillableEntities: 97
                    BillableStorage: 102
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 3
                    BackedUpStorage: 3
                    BillableEntities: 3
                    BillableStorage: 3
                - ProductName: Salesforce Cloud 3x Daily Backup
                  HighWatermarkEndpoints: 550
                  HighWatermarkGigabytes: 85.400000000000006
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 50
                    BackedUpStorage: 75
                    BillableEntities: 70
                    BillableStorage: 85
                  - BreakdownType: Active
                    BackedUpEntities: 47
                    BackedUpStorage: 72
                    BillableEntities: 67
                    BillableStorage: 82
                  - BreakdownType: Paused
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 48
                    BackedUpStorage: 73
                    BillableEntities: 68
                    BillableStorage: 83
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 650
                  HighWatermarkGigabytes: 95.900000000000006
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 58
                    BackedUpStorage: 85
                    BillableEntities: 78
                    BillableStorage: 95
                  - BreakdownType: Active
                    BackedUpEntities: 55
                    BackedUpStorage: 82
                    BillableEntities: 75
                    BillableStorage: 92
                  - BreakdownType: Paused
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 56
                    BackedUpStorage: 83
                    BillableEntities: 76
                    BillableStorage: 93
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                - ProductName: Box 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 450
                  HighWatermarkGigabytes: 75.299999999999997
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 40
                    BackedUpStorage: 65
                    BillableEntities: 55
                    BillableStorage: 75
                  - BreakdownType: Active
                    BackedUpEntities: 38
                    BackedUpStorage: 63
                    BillableEntities: 53
                    BillableStorage: 73
                  - BreakdownType: Paused
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Archived
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                  - BreakdownType: Licensed
                    BackedUpEntities: 39
                    BackedUpStorage: 64
                    BillableEntities: 54
                    BillableStorage: 74
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 1
                    BackedUpStorage: 1
                    BillableEntities: 1
                    BillableStorage: 1
                - ProductName: M365 3x Daily Backup
                  HighWatermarkEndpoints: 2200
                  HighWatermarkGigabytes: 220.69999999999999
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 200
                    BackedUpStorage: 210
                    BillableEntities: 215
                    BillableStorage: 220
                  - BreakdownType: Active
                    BackedUpEntities: 190
                    BackedUpStorage: 200
                    BillableEntities: 205
                    BillableStorage: 210
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 195
                    BackedUpStorage: 205
                    BillableEntities: 210
                    BillableStorage: 215
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
                - ProductName: MS Exchange 3x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 210.69999999999999
                  HighWatermarkDate: 2026-05-13T00:00:00.0000000Z
                  Breakdown:
                  - BreakdownType: Total
                    BackedUpEntities: 200
                    BackedUpStorage: 210
                    BillableEntities: 215
                    BillableStorage: 220
                  - BreakdownType: Active
                    BackedUpEntities: 190
                    BackedUpStorage: 200
                    BillableEntities: 205
                    BillableStorage: 210
                  - BreakdownType: Paused
                    BackedUpEntities: 8
                    BackedUpStorage: 8
                    BillableEntities: 8
                    BillableStorage: 8
                  - BreakdownType: Archived
                    BackedUpEntities: 2
                    BackedUpStorage: 2
                    BillableEntities: 2
                    BillableStorage: 2
                  - BreakdownType: Licensed
                    BackedUpEntities: 195
                    BackedUpStorage: 205
                    BillableEntities: 210
                    BillableStorage: 215
                  - BreakdownType: Unlicensed
                    BackedUpEntities: 5
                    BackedUpStorage: 5
                    BillableEntities: 5
                    BillableStorage: 5
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/cloudally/B6FB-1BBC-D3E9-4D99-8879/customers/custkey001/?reportType=Last30Days&effectiveDate=2025-02-15T00:00:00.0000000Z
  /api/console/access/gsm/{gsmKey}/addadminrequest:
    post:
      tags:
      - 'Console: Console Access'
      summary: "Initiates the process for requesting admin access to a GSM console. \n\n**IMPORTANT**: Before initiating an access request it is the responsibility of the requestor to inform the owner of the target GSM console that a designated person (whose e-mail address has to be specified in the request) will receive a confirmation message from Webroot. The e-mail message will include further information about the steps how to approve the request which need to be carried out in order to advance the access request process. The status of an initiated access request can be queried by using the *addadminstatus* API method."
      description: "**NOTE:** After successfully obtaining API-only access to a GSM console, the established super admin does not automatically have access to the sites on that console. In order to gain access to sites, multiple steps are necessary: \n- Determine the *UserId* of the API-only super admin by querying the list of GSM admins via the [get GSM admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-admins) request\n- Fetch the list of sites on the GSM console using the [get sites](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-sites) request to obtain the site's *SiteId*s\n- Add the API-only super admin by calling the [set site admins](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PUT-api-console-gsm-gsmKey-sites-siteId-admins) action for each desired site"
      operationId: ConsoleAccess_RequestGSMSuperAdmin
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode where a specified user should be added as an API-only super admin.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 3B68-23B0-FFFF-4CE2-86FE
      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/3B68-23B0-FFFF-4CE2-86FE/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: A6B2-0865-D182-4965-9728
      - name: userEmail
        in: query
        required: true
        description: The e-mail address of the user which should be added as an API-only super admin to a GSM console.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: apiuser@mydomain.com
      - name: confirmEmail
        in: query
        required: true
        description: The e-mail address where the confirmation message for approving the access request was sent to.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: admin@mydomain.com
      responses:
        200:
          description: The status of a GSM add admin access request.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GSMSuperAdminStatusResponseModel'
              example:
                Status: PendingApproval
                InitiatedDate: 2026-07-03T09:15:30.7375634Z
                StatusChangeDate: 2026-07-06T02:15:30.7375634Z
      security:
      - UnityAPISecurity:
        - Console.Access
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/access/gsm/A6B2-0865-D182-4965-9728/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: 5650-7AB8-4DC4-496F-9F16
      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: 2026-02-06T09:15:30.8628322Z
                EndDate: 2027-07-06T09:15:30.8628322Z
                RemainingDays: 150
                LicenseType: Full
                TotalSeatsAllowed: 800
                TotalSites: 500
                DeactivatedSites: 14
                CompanyEmail: test1@webroot.com
                CompanyPhone: 07292962
                CompanyAddress: ''
                Modules:
                - Type: DNSP
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: WSAT
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: OTEDR
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: SAEP
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRCS
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRCB
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRM
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-07-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: OSBPB
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-05-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
                - Type: OTMDRC
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-06-06T09:15:30.8628322Z
                  ProvisioningStatus:
                    Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/5650-7AB8-4DC4-496F-9F16
  /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: 3D19-D2B5-A00F-485C-97BD
      - name: siteKeycode
        in: path
        required: true
        description: The site keycode to look up.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 211B-A130-EE61-4F9C-A4E4
      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: 9a9926e5-9a85-4fb5-9abb-b9f05c49d95c
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 60B5-82FB-7C18-407D-91E1
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2027-01-06T09:15:30.9527911Z
                  Device: true
                  Infect: false
                  BillingCycle: Anually
                  BillingDate: Jan 01
                  CompanyComments: ''
                  DeactivatedBy: 
                  SuspendedBy: 
                  CreatedBy: test@webroot.com
                  GlobalPolicies: true
                  GlobalOverrides: true
                  GlobalAlerts: true
                  AllKeysExpired: false
                  Description: Full
                  PolicyId: 5dc0ab70-2560-475d-9323-a91fcd0610ab
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OSBPH
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:30.9527911Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3D19-D2B5-A00F-485C-97BD/lookupsite/211B-A130-EE61-4F9C-A4E4
  /api/console/gsm/{gsmKey}/statistics/endpointprotection:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves endpoint and site statistics about a GSM console.
      operationId: ConsoleGSM_GetStatisticsEndpointProtection
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 00DC-B15F-3687-49D2-A86F
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsEndpointProtectionResponseModel'
              example:
                TotalDevicesInstalled: 350
                TotalDevicesInfected: 0
                RequiringAttention: 0
                WithActiveThreats: 0
                ParentSeats: 700
                TotalDevicesAllowed: 0
                DeactivatedSites: 0
                SuspendedSites: 0
                TrialSites: 0
                FullSites: 1
                ExpiredSites: 0
                ExpiringSites: 0
                ActivatedSites: 1
                TotalSites: 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/00DC-B15F-3687-49D2-A86F/statistics/endpointprotection
  /api/console/gsm/{gsmKey}/sites/{siteId}/statistics/endpointprotection:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves endpoint and site statistics about a GSM site.
      operationId: ConsoleGSM_GetStatisticsEndpointProtection2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 8C8E-1A7A-D952-4695-8667
      - name: siteId
        in: path
        required: true
        description: The keycode of the GSM site to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 939c74b0-9b49-4658-bf16-e186609594c1
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsEndpointProtectionResponseModel'
              example:
                TotalDevicesInstalled: 115
                TotalDevicesInfected: 0
                RequiringAttention: 0
                WithActiveThreats: 0
                ParentSeats: 230
                TotalDevicesAllowed: 0
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8C8E-1A7A-D952-4695-8667/sites/939c74b0-9b49-4658-bf16-e186609594c1/statistics/endpointprotection
  /api/console/gsm/{gsmKey}/statistics/dnsp:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves DNSP statistics about a GSM console.
      operationId: ConsoleGSM_GetStatisticsDNSP
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: F1BD-64AA-0B5F-4975-97AE
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsDNSPResponseModel'
              example:
                TotalDevicesActive: 500
                TotalDevicesInactive: 10
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/F1BD-64AA-0B5F-4975-97AE/statistics/dnsp
  /api/console/gsm/{gsmKey}/sites/{siteId}/statistics/dnsp:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves DNSP statistics about a GSM site.
      operationId: ConsoleGSM_GetStatisticsDNSP2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: C68F-84FF-A43E-4D72-B9C6
      - name: siteId
        in: path
        required: true
        description: The keycode of the GSM site to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: efdeef47-028c-4413-a0f3-138fc7ad4768
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsDNSPResponseModel'
              example:
                SiteId: ea7b1850-9f47-4e6c-8f54-ac8d0fc23010
                SiteName: DNS Site
                DevicesActive: 580
                DevicesInactive: 80
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C68F-84FF-A43E-4D72-B9C6/sites/efdeef47-028c-4413-a0f3-138fc7ad4768/statistics/dnsp
  /api/console/gsm/{gsmKey}/statistics/wsat:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves WSAT statistics about a GSM console.
      operationId: ConsoleGSM_GetStatisticsWSAT
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 88ED-0FE5-2CA4-40A8-B9F7
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsWSATResponseModel'
              example:
                TotalPhishingCampaigns: 22
                TotalTrainingCampaigns: 18
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/88ED-0FE5-2CA4-40A8-B9F7/statistics/wsat
  /api/console/gsm/{gsmKey}/sites/{siteId}/statistics/wsat:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves WSAT statistics about a GSM site.
      operationId: ConsoleGSM_GetStatisticsWSAT2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: A4BB-1BA1-6586-4AB3-A494
      - name: siteId
        in: path
        required: true
        description: The keycode of the GSM site to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 983b3ab9-5d46-49b3-b350-e825d3d1a20f
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsWSATResponseModel'
              example:
                SiteId: cb0fd1d3-e165-45b2-8ed8-236b97ac5be1
                SiteName: DNS Site
                PhishingCampaigns: 64
                TrainingCampaigns: 28
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/A4BB-1BA1-6586-4AB3-A494/sites/983b3ab9-5d46-49b3-b350-e825d3d1a20f/statistics/wsat
  /api/console/gsm/{gsmKey}/statistics/crsb:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves CRSB statistics about a GSM console.
      operationId: ConsoleGSM_GetStatisticsCRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 6024-92EA-B307-44C0-802B
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsCRSBResponseModel'
              example:
                Pending: 5
                Protected: 2
                PartiallyProtected: 39
                NeedsAttention: 16
                ScheduledForDeletion: 30
                Expired: 9
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6024-92EA-B307-44C0-802B/statistics/crsb
  /api/console/gsm/{gsmKey}/sites/{siteId}/statistics/crsb:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Retrieves CRSB statistics about a GSM site.
      operationId: ConsoleGSM_GetStatisticsCRSB2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The keycode of the GSM console to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: D982-5E12-42FA-4A4E-8053
      - name: siteId
        in: path
        required: true
        description: The keycode of the GSM site to retrieve statistics for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: bde1ea66-69a6-465c-b2f6-ff621feffc1f
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsCRSBResponseModel'
              example:
                SiteId: 31317718-47c3-4eef-9968-60f98d28f54e
                SiteName: CRSB Site
                Pending: 12
                Protected: 10
                PartiallyProtected: 32
                NeedsAttention: 12
                ScheduledForDeletion: 3
                Expired: 34
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D982-5E12-42FA-4A4E-8053/sites/bde1ea66-69a6-465c-b2f6-ff621feffc1f/statistics/crsb
  /api/console/gsm/{gsmKey}/webconsoleurl:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Gets a URL to the Webroot web console that, when used in a browser, automatically logs the authenticated user in to the corresponding GSM Console.
      description: "The lifetime of the returned console URL is 5 minutes. \n\n\n**IMPORTANT:** Due to 2-factor authentication requirements for the Webroot Console, as of Dec 2019 the Unity API SSO feature will be temporarily changed, where users will be directed to the usual Webroot Console Username/Password screen to re-authenticate. We will issue further notices when the SSO feature is redesigned."
      operationId: ConsoleGSM_GetGSMSSOToken
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM keycode the user wants to access using the web console.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 1D98-2779-7795-4772-8C38
      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: 0E54-B7BA-10AB-464D-A215
                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/1D98-2779-7795-4772-8C38/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: 0EF8-703A-30EA-493F-BCD1
      - 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: 2c21379f-6585-4ac9-9fdb-28bc336fa05e
      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: 0663-74B8-5321-41DB-80E2
                SiteId: eb87adfc-bd77-49b3-bf74-9eacaf721b2c
                AccountKeyCode: 77D0-715F-0403-4231-BCB1
                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/0EF8-703A-30EA-493F-BCD1/sites/2c21379f-6585-4ac9-9fdb-28bc336fa05e/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: D9D5-C042-7B77-4667-9122
      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: 8ab65c52-2b20-4017-889e-3d1d4018d508
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: B109-ECA7-D2DB-4887-959C
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2027-01-06T09:15:31.1932085Z
                  Device: true
                  Infect: false
                  BillingCycle: Anually
                  BillingDate: Jan 01
                  CompanyComments: ''
                  DeactivatedBy: 
                  SuspendedBy: 
                  CreatedBy: test@webroot.com
                  GlobalPolicies: true
                  GlobalOverrides: true
                  GlobalAlerts: true
                  AllKeysExpired: false
                  Description: Full
                  PolicyId: 7937c4ab-914e-4082-b8ca-a9fe3a0fa5b9
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OSBPH
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                - SiteId: 8840879a-202f-46fc-aaac-3c15bc4eddad
                  SiteName: Site 2
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 4555-64DC-24D6-42A7-A195
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2027-07-06T09:15:31.1932085Z
                  Device: true
                  Infect: false
                  BillingCycle: Anually
                  BillingDate: Jan 01
                  CompanyComments: ''
                  DeactivatedBy: 
                  SuspendedBy: 
                  CreatedBy: test@webroot.com
                  GlobalPolicies: true
                  GlobalOverrides: true
                  GlobalAlerts: true
                  AllKeysExpired: false
                  Description: Full
                  PolicyId: a38ec032-3164-44b7-8084-c67ebba3ec91
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTMDRC
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OSBPH
                    LicenseType: Full
                    EndDate: 2027-07-06T09:15:31.1932085Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D9D5-C042-7B77-4667-9122/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: 023A-CD73-BCE3-4826-B5AD
      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: e3934fab-7d7c-42b1-9f60-7b71e4030e1f
              Emails: test@webroot.com
              Trial: false
              Modules:
              - Type: DNSP
                LicenseType: Trial
                Enable: true
              - Type: WSAT
                LicenseType: Trial
                Enable: true
              - Type: OTEDR
                LicenseType: Full
                Enable: true
              - Type: SAEP
                LicenseType: Full
                Enable: true
              - Type: PLRCS
                LicenseType: Full
                Enable: true
              - Type: PLRCB
                LicenseType: Full
                Enable: true
              - Type: PLRM
                LicenseType: Full
                Enable: true
              - Type: OSBPB
                LicenseType: Full
                Enable: true
        required: true
        x-position: 2
      responses:
        200:
          description: Key information about the newly created site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/CreateGSMSiteResponseModel'
              example:
                KeyCode: CA7A-7C4F-EA5E-44FC-B0F6
                SiteId: 3a765e69-5cbb-4eaa-8607-f5287e6ab428
                PCAccess: 128
                MSAccess: 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/023A-CD73-BCE3-4826-B5AD/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: 343D-6737-11EF-45F9-81A0
      - 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: 114c8dab-66a6-4075-ba3e-42241afe997e
      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: ca5a0190-fe83-40af-9322-6d4a321c5d43
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 5AB7-210D-49E6-4CC6-9565
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2027-01-06T09:15:31.2042455Z
                  Device: true
                  Infect: false
                  BillingCycle: Anually
                  BillingDate: Jan 01
                  CompanyComments: ''
                  DeactivatedBy: 
                  SuspendedBy: 
                  CreatedBy: test@webroot.com
                  GlobalPolicies: true
                  GlobalOverrides: true
                  GlobalAlerts: true
                  AllKeysExpired: false
                  Description: Full
                  PolicyId: 9ab5fcb2-4e0d-40cc-b4f6-1efed0dd9653
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OSBPH
                    LicenseType: Full
                    EndDate: 2027-01-06T09:15:31.2042455Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/343D-6737-11EF-45F9-81A0/sites/114c8dab-66a6-4075-ba3e-42241afe997e
    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: E37B-2791-87B9-4258-B60E
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 943464a2-1591-46d7-acfb-6e789c4aa3ab
      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: 28c18bee-b38d-412d-9ad9-18f7e22f6e26
              Emails: test@webroot.com
              Modules:
              - Type: DNSP
                LicenseType: Trial
                Enable: true
              - Type: WSAT
                LicenseType: Trial
                Enable: true
              - Type: OTEDR
                LicenseType: Full
                Enable: true
              - Type: SAEP
                LicenseType: Full
                Enable: true
              - Type: PLRCS
                LicenseType: Full
                Enable: true
              - Type: PLRCB
                LicenseType: Full
                Enable: true
              - Type: PLRM
                LicenseType: Full
                Enable: true
              - Type: OSBPB
                LicenseType: Full
                Enable: true
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/E37B-2791-87B9-4258-B60E/sites/943464a2-1591-46d7-acfb-6e789c4aa3ab
  /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: FDE1-C8C3-0631-4D97-9B9C
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 913e3644-e7f1-4f44-bcb9-4ff8c1b985aa
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/FDE1-C8C3-0631-4D97-9B9C/sites/913e3644-e7f1-4f44-bcb9-4ff8c1b985aa/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: C5DC-B2D9-373A-466B-BB6F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: a042ab85-c376-4524-9457-395987920fa2
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C5DC-B2D9-373A-466B-BB6F/sites/a042ab85-c376-4524-9457-395987920fa2/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: 8C2B-01BE-67FA-4E15-9099
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 27376e6b-e589-478b-a974-2de3cc7fb3d0
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8C2B-01BE-67FA-4E15-9099/sites/27376e6b-e589-478b-a974-2de3cc7fb3d0/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: A780-3105-C1FA-4D0F-959C
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 75244f15-849e-4212-b13e-cc9c0866b132
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/A780-3105-C1FA-4D0F-959C/sites/75244f15-849e-4212-b13e-cc9c0866b132/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: 4455-8E3C-86E4-4B61-85B0
      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: 766b8e94-4fb4-47fa-9e03-53219f764e21
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07818109
                  OfficeTel: 01739813
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
                - UserId: fbdf1e42-3cbf-40aa-87c0-bde290cf75d8
                  Email: test2@webroot.com
                  FirstName: Test2
                  LastName: User2
                  DisplayName: Test2 User2
                  MobileTel: 07401865
                  OfficeTel: 01514434
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/4455-8E3C-86E4-4B61-85B0/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.


        By 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.


        If 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: 8E46-3C56-BC31-4D49-8A7A
      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: 8f01268b-6dc1-40de-af21-475d38a2476f
                Email: jdoe@domain.com
                FirstName: Jane
                LastName: Doe
                DisplayName: Jane Doe
                MobileTel: 07911825
                OfficeTel: 01842823
                UserState: Activated
                AccessLevel: 128
                MSPUser: false
                Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8E46-3C56-BC31-4D49-8A7A/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: 215F-72AC-C52D-4172-82C8
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to query information for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f8a548b8-f28b-4ea9-a60a-23200925a06b
      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: 94f9b0a4-1db4-4427-bfbd-7e8f781fe873
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07635724
                  OfficeTel: 01140350
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/215F-72AC-C52D-4172-82C8/admins/f8a548b8-f28b-4ea9-a60a-23200925a06b
    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: 555F-C3B9-0796-472D-AB10
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to modify.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 0e998198-142b-4c5c-8f7c-f7a06cb790af
      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: 
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/555F-C3B9-0796-472D-AB10/admins/0e998198-142b-4c5c-8f7c-f7a06cb790af
    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: 1D4F-0318-0B66-47F3-8371
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to remove.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 902aee92-48a2-48dc-85ad-3f909505e5f1
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/1D4F-0318-0B66-47F3-8371/admins/902aee92-48a2-48dc-85ad-3f909505e5f1
  /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: EB7B-E3D3-02B2-4A3E-BA19
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 85d819fe-89c1-442b-85b6-3d726a7f2deb
      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: f9d8d04b-6f72-4cf5-ad0c-db4104b1b7ed
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07213622
                  OfficeTel: 01246902
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
                - UserId: 5643e147-88ea-43b4-952b-c0f63e4576c9
                  Email: test2@webroot.com
                  FirstName: Test2
                  LastName: User2
                  DisplayName: Test2 User2
                  MobileTel: 07841199
                  OfficeTel: 01561261
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/EB7B-E3D3-02B2-4A3E-BA19/sites/85d819fe-89c1-442b-85b6-3d726a7f2deb/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.




        **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: DE4A-E661-0CCC-4523-89F3
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: bc762fa6-47de-42d1-9e42-c965068a44a8
      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: c377605c-a10f-44f1-a8c9-7bd32557e453
                Email: jdoe@domain.com
                FirstName: Jane
                LastName: Doe
                DisplayName: Jane Doe
                MobileTel: 07652146
                OfficeTel: 01127370
                UserState: Activated
                AccessLevel: 128
                MSPUser: false
                Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/DE4A-E661-0CCC-4523-89F3/sites/bc762fa6-47de-42d1-9e42-c965068a44a8/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: 3866-6D23-C70A-407D-BDEA
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: c0653bf5-e570-4147-909f-acea69d549f3
      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: 907248fa-a4a1-450d-92c2-200acbc5aa3d
                AccessLevel: 128
              - UserId: 5ae98de3-73e6-43fb-82bd-8cd3c2143433
                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/3866-6D23-C70A-407D-BDEA/sites/c0653bf5-e570-4147-909f-acea69d549f3/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: 82A1-2074-0132-4D51-A938
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 0f04178a-6419-48e6-9850-f98fadb6d278
      - name: userId
        in: path
        required: true
        description: The admin identifier to query information for.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: c38d2775-9749-4c2d-b746-eade374a41b8
      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: c9c04e3b-f396-41e6-863b-562d2ebe4de4
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07338466
                  OfficeTel: 01414275
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/82A1-2074-0132-4D51-A938/sites/0f04178a-6419-48e6-9850-f98fadb6d278/admins/c38d2775-9749-4c2d-b746-eade374a41b8
    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: 12F1-9087-3913-4590-AE45
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 47a86f55-a136-4cbd-88db-26b0dd6a29ac
      - name: userId
        in: path
        required: true
        description: The identifier of the admin to modify.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: d4be60f3-6378-402d-9942-bc2502c68d33
      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: 
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/12F1-9087-3913-4590-AE45/sites/47a86f55-a136-4cbd-88db-26b0dd6a29ac/admins/d4be60f3-6378-402d-9942-bc2502c68d33
    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: A29E-E87C-9CFB-4771-BBF2
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 41db1dc6-270d-4eaa-8475-d29650481ab2
      - name: userId
        in: path
        required: true
        description: The identifier of the admin to remove.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: de56e0df-960f-445b-bc80-87ed32d8238e
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/A29E-E87C-9CFB-4771-BBF2/sites/41db1dc6-270d-4eaa-8475-d29650481ab2/admins/de56e0df-960f-445b-bc80-87ed32d8238e
  /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: C9DA-60A8-BF39-445B-8908
      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: c2ca57ff-9b65-4bfd-b67d-8cf553119c4d
                  DateCreated: 2026-05-06T09:15:31.6448147Z
                  PolicyName: Test Policy 1
                  LivePolicy: true
                  PendingPolicy: false
                  PolicyDescription: Description of test policy 1
                  Deleted: false
                  Canned: false
                  DefaultSetting: false
                  PolicyType: Advanced
                - PolicyId: d18bdfef-096c-49d6-b73d-735460556022
                  DateCreated: 2026-03-06T09:15:31.6448147Z
                  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/C9DA-60A8-BF39-445B-8908/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: 8181-D4CB-853F-4327-A917
      - 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: e0a0db1e-0a9e-44d5-a957-c7d5dfe3ca9d
      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: e726c126-aa6d-4319-8ada-45a6baad25fa
                  DateCreated: 2026-05-06T09:15:31.6604570Z
                  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/8181-D4CB-853F-4327-A917/policies/e0a0db1e-0a9e-44d5-a957-c7d5dfe3ca9d
  /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: 587B-8433-46E1-4434-B249
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 9fb09d50-b8cc-4364-9689-d34b16f1269b
      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: 51b18a2e-2db4-4c54-ab80-437717c6a36c
                  DateCreated: 2026-05-06T09:15:31.7073099Z
                  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: 4cadbcb6-a03e-49f2-a164-0e14f0ac5fe9
                  DateCreated: 2026-03-06T09:15:31.7073099Z
                  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/587B-8433-46E1-4434-B249/sites/9fb09d50-b8cc-4364-9689-d34b16f1269b/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: 65D4-A7F1-BBEF-48A4-BE8D
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 5a8a7dcc-46cd-41b1-84c5-fa07dd8a4903
      - 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: 1cf84278-92fc-4844-92d8-6bdbe7dd97e0
      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: 3ecbfd58-8474-48fb-af1c-6e29f988cf3a
                  DateCreated: 2026-05-06T09:15:31.7232457Z
                  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/65D4-A7F1-BBEF-48A4-BE8D/sites/5a8a7dcc-46cd-41b1-84c5-fa07dd8a4903/policies/1cf84278-92fc-4844-92d8-6bdbe7dd97e0
  /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: D757-B59E-DC55-4474-A31E
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 8d91ab59-aa98-4304-aba1-f93ed28a38ea
      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: 90
                  GroupCode: -319126240
                  GroupId: 1dff4c1d-771a-4a5f-9089-235c3752e19a
                  GroupName: Test Group 1
                  GroupDescription: Description of test group 1
                  GroupPolicyId: 02503083-556a-4dd4-8ca9-7bbd3df70ad9
                  GroupPolicyName: Test Policy 1
                - Endpoints: 11
                  GroupCode: -394312379
                  GroupId: dda88f89-7bf5-454e-91c3-db390d891e28
                  GroupName: Test Group 2
                  GroupDescription: Description of test group 2
                  GroupPolicyId: 24b136c2-a6c2-4f66-85ce-8ad1a0eea613
                  GroupPolicyName: Test Policy 2
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D757-B59E-DC55-4474-A31E/sites/8d91ab59-aa98-4304-aba1-f93ed28a38ea/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: 3CF1-2799-16E0-4094-8AD3
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 48b90264-c77f-484a-9902-8229fe4f285f
      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: 38398f2a-6b34-40ce-9959-2f347f6d8b6e
        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: ad8c38e8-a73e-4f10-9f8e-79069c94160a
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3CF1-2799-16E0-4094-8AD3/sites/48b90264-c77f-484a-9902-8229fe4f285f/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: 797B-457C-8598-468B-AB8F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 33b82b88-e3fa-45bc-9c46-5c75b82e6e13
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 84507bf3-2559-47c8-a82e-e2dc36f5ca71
      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: 56
                  GroupCode: -664585642
                  GroupId: 2cac99bb-f877-47e0-b0d8-50ff427d882c
                  GroupName: Test Group 1
                  GroupDescription: Description of test group 1
                  GroupPolicyId: e2756d56-a591-43f4-8829-126db1647913
                  GroupPolicyName: Test Policy 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/797B-457C-8598-468B-AB8F/sites/33b82b88-e3fa-45bc-9c46-5c75b82e6e13/groups/84507bf3-2559-47c8-a82e-e2dc36f5ca71
    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: 61F9-0EFB-9BA4-4D20-A569
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: cb15f1e9-aec8-416e-80b6-759a64912cf7
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 079b34a2-d62f-4e1c-955e-20c1422cd810
      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: c8d5a98b-c52a-45e8-90c1-d4698a9c3bd3
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/61F9-0EFB-9BA4-4D20-A569/sites/cb15f1e9-aec8-416e-80b6-759a64912cf7/groups/079b34a2-d62f-4e1c-955e-20c1422cd810
    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: 6969-D83B-BB87-4C31-B35A
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 038054f7-fb52-424c-8797-7f2f07134358
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 8fbbf09c-495d-4081-96fb-0afeb8194bc0
      - 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: aa14b266-7016-4cdf-bef2-cb7585d7aa2d
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6969-D83B-BB87-4C31-B35A/sites/038054f7-fb52-424c-8797-7f2f07134358/groups/8fbbf09c-495d-4081-96fb-0afeb8194bc0
  /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: 07D1-063A-8180-4CFD-B561
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: b0ab03a4-29e2-45b5-bf8f-97b71c4dfe27
      - 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: F3E9C17207CA47C5829010585AAC071F:::550ED04FCF3F431AB6BDEECA3B87E0E9:::550ED04FCF3F431AB6BDEECA3B87E0E9
      - 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: A
      - 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: 14
      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: 96c92ebb-2ccb-4cd6-97cc-6fc69db57af9
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2026-02-06T09:15:31.9577869Z
                  LastSeen: 2026-02-06T09:15:31.9577869Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 0A23-183F-D677-4AE0-B551
                  Expired: false
                  LastChangesUserId: 843152aa-6eb6-41b9-bee4-adce6ff49ead
                  MachineId: 98F3B4DB73C54886A5727EC963B182A9:::C22D399DEFD543FAA622D43494F58740:::C22D399DEFD543FAA622D43494F58740
                  PolicyId: 2d3f569f-888d-47ab-9cfa-f90c34e416a7
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 36be4895-7432-40cd-88db-1a4b64500175
                  PolicyName: Test Policy
                  LastInfected: 2026-04-06T09:15:31.9577869Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.43.170.156
                  MACAddress: 16-5C-DF-67-47-D0
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.12.46.128
                  Deactivated: false
                  LastScanSeq: 597216492
                  ModifiedDate: 2026-06-29T09:15:31.9603099Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
                - Seq: 2
                  EndpointId: b8f65773-3073-455a-b6af-583a82468113
                  HostName: MyComputer2
                  GroupName: Test Group
                  FirstSeen: 2025-09-06T09:15:31.9603099Z
                  LastSeen: 2025-09-06T09:15:31.9603099Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 0A23-183F-D677-4AE0-B551
                  Expired: false
                  LastChangesUserId: 2025de67-e3c9-489e-a6f1-5f4381bf6488
                  MachineId: 8CD22CC7D9E449A293026C26E6A6AC99:::749A5774DE4846F38B46419593DA9FF3:::749A5774DE4846F38B46419593DA9FF3
                  PolicyId: e0cd0579-17ce-48ab-ad63-1ecfb6ec29a8
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: f006f089-6d47-40bb-97cd-f79e4145e808
                  PolicyName: Test Policy
                  LastInfected: 2026-01-06T09:15:31.9603099Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 4
                  InternalIP: 10.117.5.134
                  MACAddress: 3A-CA-FC-F1-2D-B1
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.32.50.163
                  Deactivated: false
                  LastScanSeq: 58654673
                  ModifiedDate: 2026-06-22T09:15:31.9612564Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?type=active
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?hostName=MyComputer1
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?machineId=e12cee848565435b8533ec7540366f13:::9a3ff75d83634d1386af15c238b575fb:::9a3ff75d83634d1386af15c238b575fb
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?pageSize=100&pageNr=3
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/endpoints?order=lastseen&orderDirection=A
    put:
      tags:
      - 'Console: Console GSM'
      summary: Moves endpoints to a different group.
      operationId: ConsoleGSM_SetGroupEndpoints
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 121E-1C52-9948-4181-8A18
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: be7f106b-4663-46ae-9cbe-54c5f6fd39b9
      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: 
              SourceGroupId: b3929e1a-6a35-4b7e-9273-7efde7f00616
              TargetGroupId: 98d0b4d3-7859-4699-bf64-deb93a2c2a32
              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/121E-1C52-9948-4181-8A18/sites/be7f106b-4663-46ae-9cbe-54c5f6fd39b9/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: 1780-5618-E652-4BCA-BC32
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 689f5812-86d9-4172-a4c3-7e30e4fb8d12
      - name: endpointId
        in: path
        required: true
        description: The endpoint identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 85b15361-a3e8-4c97-8e2d-d30da80f6f75
      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: 750d7203-2078-410e-ba9b-315d798a658f
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2026-02-06T09:15:31.9757608Z
                  LastSeen: 2026-02-06T09:15:31.9757608Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 2A61-8A69-FA96-47F3-A242
                  Expired: false
                  LastChangesUserId: 83b98430-a771-46c8-bfd9-7d0b28f9ae06
                  MachineId: AF772756687B47FAAF2F1490ABC3848A:::DFD821BE3AEF4427A57CA72536ED7242:::DFD821BE3AEF4427A57CA72536ED7242
                  PolicyId: 5388d972-c481-42ea-acfe-8229739efe0f
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 0d1311ed-b12c-4151-b972-0d1e72056da1
                  PolicyName: Test Policy
                  LastInfected: 2026-04-06T09:15:31.9757608Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.101.230.66
                  MACAddress: F9-D6-20-79-27-BC
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.32.221.6
                  Deactivated: false
                  LastScanSeq: 1976538288
                  ModifiedDate: 2026-06-29T09:15:31.9757608Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/1780-5618-E652-4BCA-BC32/sites/689f5812-86d9-4172-a4c3-7e30e4fb8d12/endpoints/85b15361-a3e8-4c97-8e2d-d30da80f6f75
  /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: B4A1-780E-F259-46C7-B6C1
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: c962c3dc-1e73-4ddd-ae43-4c0ac7a5dee0
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: c012160f-d29a-449c-976b-16b2cf665b83
      - name: order
        in: query
        description: Used to determine the order field. Valid values are "hostname", "firstseen", "lastseen", "agentversion", "lastinfected". Default value is "hostname".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: hostname
      - name: orderDirection
        in: query
        description: Used to sort the data. "A" for ascending, "D" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in ascending order.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: A
      - name: pageSize
        in: query
        description: Specifies the number of records being returned.
        schema:
          type: integer
          format: int32
          default: 50
          nullable: false
        x-position: 6
        example: 100
      - name: pageNr
        in: query
        description: Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.
        schema:
          type: integer
          format: int32
          default: 1
          nullable: false
        x-position: 7
        example: 5
      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: b69e37e3-0863-4481-be48-fb21ae928527
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2026-02-06T09:15:31.9917899Z
                  LastSeen: 2026-02-06T09:15:31.9917899Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: EDE5-5B9E-A5E9-4F16-A8B8
                  Expired: false
                  LastChangesUserId: 39cc5798-09df-473f-8962-a25af5518aa6
                  MachineId: 53C0B1D162BA42069EABD826817ED20B:::AD89D27DD7684046AECD83E50720D5C4:::AD89D27DD7684046AECD83E50720D5C4
                  PolicyId: c16cb2a1-958e-4243-a52e-25d5f2750968
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: b8a57625-12ce-4dc4-969c-d7cd5bd06f04
                  PolicyName: Test Policy
                  LastInfected: 2026-04-06T09:15:31.9917899Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.161.1.74
                  MACAddress: 55-02-0E-56-08-E4
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.226.62.135
                  Deactivated: false
                  LastScanSeq: 1423437687
                  ModifiedDate: 2026-06-29T09:15:31.9917899Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
                - Seq: 2
                  EndpointId: 48816b39-3d3c-4182-8f7e-f79daaaaa8fa
                  HostName: MyComputer2
                  GroupName: Test Group
                  FirstSeen: 2025-09-06T09:15:31.9917899Z
                  LastSeen: 2025-09-06T09:15:31.9917899Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: EDE5-5B9E-A5E9-4F16-A8B8
                  Expired: false
                  LastChangesUserId: e3a26a22-7622-46ab-b7c7-61d0ef6f6105
                  MachineId: 4BD57765F6354A4394A0667EF17108B0:::52F8ED666B824CBFB15AFDFAD797601B:::52F8ED666B824CBFB15AFDFAD797601B
                  PolicyId: 031982a8-424e-43bc-9d1b-af73827331fc
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 7841e15b-74b4-4ea9-97fd-4c33d8ed0546
                  PolicyName: Test Policy
                  LastInfected: 2026-01-06T09:15:31.9917899Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 4
                  InternalIP: 10.111.57.48
                  MACAddress: 7E-FE-03-15-2F-54
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.52.20.132
                  Deactivated: false
                  LastScanSeq: 2035523946
                  ModifiedDate: 2026-06-22T09:15:31.9917899Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints?pageSize=100&pageNr=3
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/groups/4f08f3ad-7688-4d40-98a6-89bbf7df3daf/endpoints?order=lastseen&orderDirection=A
  /api/console/gsm/{gsmKey}/sites/{siteId}/endpoints/policy:
    put:
      tags:
      - 'Console: Console GSM'
      summary: Applies a new policy to the specified endpoints.
      operationId: ConsoleGSM_SetPolicyEndpoints
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: CB96-B8E5-02D9-4EB7-8B02
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: d6926b4f-3509-4048-8ad6-887d80f8c6bc
      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: def88e95-d106-45b2-8a50-66cb159a1578,f51e87cb-248c-46cc-9bc5-8a42ca9b0c34
              PolicyId: bbfa7251-87bc-4754-b33b-4bfd625d373b
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/CB96-B8E5-02D9-4EB7-8B02/sites/d6926b4f-3509-4048-8ad6-887d80f8c6bc/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: 2521-D154-91BB-4BC8-8A42
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: c5438e9d-a85c-4945-bb5c-d78fd6e937f8
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: c9f8693a-6feb-4dac-a858-8a9b26d652e4
      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: b67d2759-d83b-45ad-b166-cc7a5f131cfd
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2521-D154-91BB-4BC8-8A42/sites/c5438e9d-a85c-4945-bb5c-d78fd6e937f8/groups/c9f8693a-6feb-4dac-a858-8a9b26d652e4/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: D14A-627C-50E3-44E0-A4D2
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 20514868-2a6f-4b5c-844e-e6f7e76e4cb1
      requestBody:
        x-name: commandInformation
        description: Additional information for reactivating endpoints.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SetCommandReOrDeactivateRequestModel'
            example:
              EndpointsList: aea9670c-d530-4697-8de7-7196f9321dde,dc7f9880-70dc-4d25-b4fb-7f4d8dbebefa
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D14A-627C-50E3-44E0-A4D2/sites/20514868-2a6f-4b5c-844e-e6f7e76e4cb1/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: 2A36-9C7D-13D1-412B-AC3B
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 2204f48f-cb0a-470b-b729-9a9bdd3135fc
      requestBody:
        x-name: commandInformation
        description: Additional information for deactivating endpoints.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SetCommandReOrDeactivateRequestModel'
            example:
              EndpointsList: 52496da0-653a-4766-90fe-2bb2e683e51d,b45f9fbf-ebe2-4368-b927-fddc6497db76
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2A36-9C7D-13D1-412B-AC3B/sites/2204f48f-cb0a-470b-b729-9a9bdd3135fc/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: 9336-76C5-659F-4D80-AF83
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 999cf213-56b9-4c69-9b02-29106246311f
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: b9741425-5ff4-482a-bb28-1c69f3a6c2be
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/9336-76C5-659F-4D80-AF83/sites/999cf213-56b9-4c69-9b02-29106246311f/groups/b9741425-5ff4-482a-bb28-1c69f3a6c2be/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: 798A-7E27-4D7C-411F-87A3
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 147a7117-a1d2-47d8-a01a-9b6b51206034
      - name: endpointId
        in: query
        description: The endpoint identifier to get the executed command for.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 22e73aa4-8711-4784-b056-1256ec383e00
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "deactivate", "reactivate", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: uninstall
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 1
      - name: startDate
        in: query
        description: If specified, returns all issued commands after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 6
        example: 2026-06-06T09:15:32.1643599Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-07-06T09:15:32.1643599Z
      - 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: 21
      responses:
        200:
          description: Information about the executed commands.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCommandsResponseModel'
              example:
                TotalAvailable: 2
                PageNr: 1
                PageSize: 50
                Commands:
                - DateRequested: 2026-07-06T03:15:32.1643599Z
                  EndpointId: ba7ee7e6-d37a-4ac3-9e35-310c7be7e9f9
                  HostName: MyComputer1
                  StartDate: 2026-07-06T06:15:32.1643599Z
                  EndDate: 2026-07-06T16:15:32.1643599Z
                  Command: scan
                  Parameters: 
                  CommandState: 4
                - DateRequested: 2026-07-06T02:15:32.1643599Z
                  EndpointId: eb89761b-648b-4c61-be0d-8093a3af2fa7
                  HostName: MyComputer2
                  StartDate: 2026-07-06T07:15:32.1643599Z
                  EndDate: 2026-07-06T17:15:32.1643599Z
                  Command: scan
                  Parameters: 
                  CommandState: 1
      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: 1EB1-C515-4ABF-42D9-85F6
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: bf0d0703-5e6c-4178-bcc4-18bdf62aff77
      - 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: d93e795f-792a-47b6-8f8f-829c84c4a9f5
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "deactivate", "reactivate", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: uninstall
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 2
      - name: startDate
        in: query
        description: If specified, returns all issued commands after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 6
        example: 2026-06-06T09:15:32.1956256Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-07-06T09:15:32.1956256Z
      - 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: 4
      responses:
        200:
          description: Information about the executed commands.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCommandsResponseModel'
              example:
                TotalAvailable: 2
                PageNr: 1
                PageSize: 50
                Commands:
                - DateRequested: 2026-07-06T03:15:32.1956256Z
                  EndpointId: be5987c6-c2e3-4d10-ad46-f62789f9f772
                  HostName: MyComputer1
                  StartDate: 2026-07-06T06:15:32.1956256Z
                  EndDate: 2026-07-06T16:15:32.1956256Z
                  Command: scan
                  Parameters: 
                  CommandState: 3
                - DateRequested: 2026-07-06T02:15:32.1956256Z
                  EndpointId: 37010f40-cef6-427b-be6a-77bf5ae95495
                  HostName: MyComputer2
                  StartDate: 2026-07-06T07:15:32.1956256Z
                  EndDate: 2026-07-06T17:15:32.1956256Z
                  Command: scan
                  Parameters: 
                  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/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: 93F3-C5AE-DD6F-403E-8822
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: e13c408e-2894-46a2-9e52-af7831afeb7a
      - 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: 09468a27-1233-43b7-b001-a0c6f08aec7a
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "deactivate", "reactivate", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: cleanup
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 3
      - name: startDate
        in: query
        description: If specified, returns all issued commands after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 6
        example: 2026-06-06T09:15:32.2389734Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-07-06T09:15:32.2389734Z
      - 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: 32
      responses:
        200:
          description: Information about the executed commands.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCommandsResponseModel'
              example:
                TotalAvailable: 2
                PageNr: 1
                PageSize: 50
                Commands:
                - DateRequested: 2026-07-06T03:15:32.2389734Z
                  EndpointId: 081b19a2-3286-4cbc-8873-a5d59a9b48ed
                  HostName: MyComputer1
                  StartDate: 2026-07-06T06:15:32.2389734Z
                  EndDate: 2026-07-06T16:15:32.2389734Z
                  Command: scan
                  Parameters: 
                  CommandState: 1
                - DateRequested: 2026-07-06T02:15:32.2389734Z
                  EndpointId: fb130b32-9395-4fbc-9566-027cee723a60
                  HostName: MyComputer2
                  StartDate: 2026-07-06T07:15:32.2389734Z
                  EndDate: 2026-07-06T17:15:32.2389734Z
                  Command: scan
                  Parameters: 
                  CommandState: 5
      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: 878E-A646-3805-4237-81EB
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ca7d6042-0544-44b7-bce8-a274c23bebf9
      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: 8bffebcd-90bd-4b5d-baa4-c4c482b0d76b,70917cb5-f23d-4dc7-86ab-6ce3646d804f
              Command: changekeycode
              Parameters: 73F4-BCD0-8E00-4084-A098
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/878E-A646-3805-4237-81EB/sites/ca7d6042-0544-44b7-bce8-a274c23bebf9/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: 1A47-63D6-590D-449E-BAEB
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 4cfa8032-8978-444f-b491-dae80f81d250
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 3af63be5-4b55-43d1-973d-b048f32b9bf6
      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: 5190-CADC-F6EE-497C-8F98
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/1A47-63D6-590D-449E-BAEB/sites/4cfa8032-8978-444f-b491-dae80f81d250/groups/3af63be5-4b55-43d1-973d-b048f32b9bf6/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: 3A99-1FB8-5AFB-4994-B109
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f88acdad-95b6-4cc3-a866-9dc3bb32d1f1
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:32.3618600Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:32.3618600Z
      - 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: 44
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-04-06T09:15:32.3618600Z
                EndDate: 2026-07-06T09:15:32.3618600Z
                ThreatRecords:
                - EndpointId: 8660bd6e-2fe6-44c4-b7bf-167b02576487
                  MachineId: E8CA3EAC55D943E09841AD087230D62E:::B8EAEC8AFFB54A5BA65FAD856AF0C338:::B8EAEC8AFFB54A5BA65FAD856AF0C338
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.3618600Z
                  LastSeen: 2026-07-04T09:15:32.3618600Z
                  ExtendedInfo:
                    DwellTime: 112
                    FileMD5: C508A6CD251C4F578ABD01BBF66BD2E2
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.144.177.125
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: 18514c43-93d6-4b57-98f8-e847ce9fff3c
                  MachineId: 0B1B4816FA854AF8913724D7601883AB:::CA657AB1C5894064AD115B73C1420AB4:::CA657AB1C5894064AD115B73C1420AB4
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.3618600Z
                  LastSeen: 2026-07-04T09:15:32.3618600Z
                  ExtendedInfo:
                    DwellTime: 921
                    FileMD5: D0557BAE3C3E46C7869B6DF230737C1D
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.55.65.53
                    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: 0598-3428-FF73-446E-8B97
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 37346889-83a2-4edf-ad02-ae395b8a6467
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 1ffbbc35-6741-4103-97dd-721af5c43e8a
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-06-06T09:15:32.3814546Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 5
        example: 2026-07-06T09:15:32.3814546Z
      - 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: 12
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-04-06T09:15:32.3814546Z
                EndDate: 2026-07-06T09:15:32.3814546Z
                ThreatRecords:
                - EndpointId: e1cef0c0-a235-48f2-96bd-e44a92a86701
                  MachineId: 76248217DACA474A9123E7AB4DFADBDE:::BD71D76C86744573BEC06834189BF78F:::BD71D76C86744573BEC06834189BF78F
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.3814546Z
                  LastSeen: 2026-07-04T09:15:32.3814546Z
                  ExtendedInfo:
                    DwellTime: 467
                    FileMD5: 8F3D55DCB10449CDAC82A94D2DB2B087
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.120.4.27
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: e7e59ab9-43ab-447f-9a4e-bfe93087e31c
                  MachineId: 5455231004ED4D92A67B6D8EC5573D5E:::ADBE3C79E81346E3A07315CA25612BE4:::ADBE3C79E81346E3A07315CA25612BE4
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.3814546Z
                  LastSeen: 2026-07-04T09:15:32.3814546Z
                  ExtendedInfo:
                    DwellTime: 0
                    FileMD5: 413A90C9B16C42EAB4F602E78EB47225
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.215.244.105
                    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: 883B-DD81-62C8-4B47-87CC
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ca006602-7c29-4ba7-ae7b-748ad6268eeb
      - name: endpointId
        in: path
        required: true
        description: The endpoint identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 0ec3236b-a601-4ff8-b03b-0f64acbd5f57
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-06-06T09:15:32.4103616Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 5
        example: 2026-07-06T09:15:32.4103616Z
      - 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: 40
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-04-06T09:15:32.4103616Z
                EndDate: 2026-07-06T09:15:32.4103616Z
                ThreatRecords:
                - EndpointId: 859e6079-5fbd-4dcf-9efc-9d89c86fddb4
                  MachineId: 8E7B4DF614EE41669E24D1DC396C576E:::2B8AFAC491A64CC4B517C3689EF163E1:::2B8AFAC491A64CC4B517C3689EF163E1
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.4103616Z
                  LastSeen: 2026-07-04T09:15:32.4103616Z
                  ExtendedInfo:
                    DwellTime: 191
                    FileMD5: 52A8947B50FF47D68B29A9A772B1756E
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.130.22.216
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: 4a7c6eed-e6ec-48ad-8688-0149ebd36a96
                  MachineId: 428C6EF42E6B4B0295FD3D4C3D02C9D8:::0343BECE09FD49A68920DA2550B69649:::0343BECE09FD49A68920DA2550B69649
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-06-23T09:15:32.4103616Z
                  LastSeen: 2026-07-04T09:15:32.4103616Z
                  ExtendedInfo:
                    DwellTime: 399
                    FileMD5: B3448A841636424EA9DC63EA3997D264
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.124.100.215
                    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: 0C40-533C-17C6-4489-9A21
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 7c835e06-35cc-46ab-b2e0-6caf9d15459f
      - name: includeDeactivated
        in: query
        description: >-
          Value indicating whether URL actions of endpoints that are currently deactivated should be included in the counts.


          Default 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.


          Default is false
        schema:
          type: boolean
          nullable: false
      - name: startDate
        in: query
        description: "The start date of the time range for which data is queried. \n**Note: **The earliest count value returned is for the first FULL day following the date specified in *startDate*. For example, passing \"2021-02-15Z\" or \"2021-02-15T00:00Z\" will include the count for the 15th of February 2021. When the start date is \"2021-02-15T12:45Z\", returned counts will start with February 16th.\n\nDefault value is *endDate* minus 7 days."
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-06-06T09:15:32.4759513Z
      - name: endDate
        in: query
        description: "The end date of the time range for which data is queried. \n**Note: **The value returned for the last day in the time range is the number of URL actions counted for that day, up to the time-of-day specified in *endDate*.\n\nDefault value is the current date and time."
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-07-06T09:15:32.4759513Z
      responses:
        200:
          description: Summary information about the number of recorded URL actions.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetBlockedURLsCountsResponse'
              example:
                IncludeDeactivated: false
                IncludeHidden: false
                StartDate: 2026-07-04T09:15:32.4754144Z
                EndDate: 2026-07-06T09:15:32.4754144Z
                DatedCounts:
                - Date: 2026-07-06T00:00:00.0000000Z
                  Count: 56
                - Date: 2026-07-05T00:00:00.0000000Z
                  Count: 26
      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: 3AEB-1A40-A4E8-49DA-ADEA
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 11956086-2a02-450b-aef6-4b93105a4fcd
      - name: includeDeactivated
        in: query
        description: >-
          Value indicating whether URL actions of endpoints that are currently deactivated should be included in the response.


          Default 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.


          Default is false
        schema:
          type: boolean
          nullable: false
      - name: pageNr
        in: query
        description: >-
          The number of the page of data which should be returned.


          Default value is 1
        schema:
          type: integer
          format: int32
          nullable: false
        example: 46
      - name: pageSize
        in: query
        description: >-
          The number of data entries which should be returned for the page. Valid values are between 50 and 1000.


          Default 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.


          Default value is *endDate* minus 24 hours
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-06-06T09:15:32.5613957Z
      - name: endDate
        in: query
        description: >-
          The end date of the time range for which data is queried.


          Default value is the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-07-06T09:15:32.5613957Z
      responses:
        200:
          description: Detail information about recorded URL actions.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetBlockedURLsDataResponse'
              example:
                MoreAvailable: false
                IncludeDeactivated: false
                IncludeHidden: false
                PageNr: 1
                PageSize: 100
                StartDate: 2026-07-04T09:15:32.5523402Z
                EndDate: 2026-07-05T09:15:32.5523402Z
                BlockedURLs:
                - BlockedUrl: https://www.suspicious.com/page0.html
                  BlockReasonId: 46
                  BlockReasonName: Hate and Racism
                  BCRI: 
                  Timestamp: 2026-07-05T09:15:19.5523402Z
                  ActionTaken: WHITELIST
                  HostName: Computer0
                  EndpointId: 85500353-d52e-4998-80c9-ee70f2bf3027
                - BlockedUrl: https://www.malicious.com/page0.html
                  BlockReasonId: 46
                  BlockReasonName: Hate and Racism
                  BCRI: 18
                  Timestamp: 2026-07-05T09:14:08.5523402Z
                  ActionTaken: BLOCK
                  HostName: Computer0
                  EndpointId: 675e32e2-3e6d-471c-b262-b1ce2e37cfb1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/data
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/blockedurls/data?startDate=2020-09-01&endDate=2020-09-30&pageSize=100&pageNr=3
  /api/console/gsm/{gsmKey}/dnsp/categories:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a list of available DNS Protection categories and their respective identifiers.
      operationId: ConsoleGSM_GetDNSPCategories
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: B66D-2DAD-B6C8-43C7-82B7
      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/B66D-2DAD-B6C8-43C7-82B7/dnsp/categories
  /api/console/gsm/{gsmKey}/dnsp/policies:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a list of available DNS Protection policies and their respective identifiers for a GSM parent keycode.
      operationId: ConsoleGSM_GetDNSPGlobalPolicies
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 2C97-8A2E-D337-4DBC-87AB
      responses:
        200:
          description: Information about DNS Protection policies.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPGlobalPoliciesResponseModel'
              example:
                TotalCount: 2
                Policies:
                - Id: 94d3fadc-480a-4ac0-9cbc-6cef7c81028a
                  Name: Test Policy 1
                  BlockedCategories:
                  - 50
                  - 57
                  - 58
                  - 59
                  - 60
                  - 68
                  Editable: true
                  CreatedDate: 2026-02-06T09:15:32.6333681Z
                  ModifiedDate: 2026-02-06T09:15:32.6333681Z
                - Id: 405a53eb-9d53-49a5-a75d-7155988bfd1a
                  Name: Test Policy 2
                  BlockedCategories:
                  - 51
                  - 58
                  - 59
                  - 60
                  - 61
                  - 69
                  Editable: true
                  CreatedDate: 2025-09-06T09:15:32.6333681Z
                  ModifiedDate: 2025-09-06T09:15:32.6333681Z
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2C97-8A2E-D337-4DBC-87AB/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: 5BB1-B30B-A265-4F7E-B588
      - 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: 846f548d-d0d1-4b8b-bd7e-244c1378123d
      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: 4b2e196b-bd40-4e3f-8fd1-232238ef4c0c
                  Name: Test Policy 1
                  BlockedCategories:
                  - 50
                  - 57
                  - 58
                  - 59
                  - 60
                  - 68
                  Editable: true
                  CreatedDate: 2026-02-06T09:15:32.6481276Z
                  ModifiedDate: 2026-02-06T09:15:32.6481276Z
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/5BB1-B30B-A265-4F7E-B588/dnsp/policies/846f548d-d0d1-4b8b-bd7e-244c1378123d
  /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: 6AFB-6CB7-0C03-467D-B38C
      - 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: 6a96783b-0618-4b63-9328-aad602d87675
      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: d451c087-b1d9-4d99-84ae-fafa22fda0f7
                  Type: StaticIP
                  Value: 95.118.65.137
                  DNSPolicyId: 2fb72127-8d37-417a-9fce-8923fe379e9a
                - Id: 9ca432f8-7b6d-4ccd-9b0c-72240cbb9d75
                  Type: StaticIP
                  Value: 95.46.191.67
                  DNSPolicyId: 7ba454c1-7030-4595-bce8-8d02322bf1e5
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6AFB-6CB7-0C03-467D-B38C/sites/6a96783b-0618-4b63-9328-aad602d87675/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: 4FD9-ADB1-1AAB-4B40-B2C6
      - 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: b3a52589-14fd-4562-9ad8-03d480b7fdcb
      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.36.211.74
              DNSPolicyId: 27ef474d-b4b0-4865-a1c0-c0978aea55ba
        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: 792fcd4f-e445-4442-8448-3d3d09f6f74e
                Type: StaticIP
                Value: 95.8.127.58
                DNSPolicyId: f05956cb-39b1-4209-aa5a-da37f64545d8
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/4FD9-ADB1-1AAB-4B40-B2C6/sites/b3a52589-14fd-4562-9ad8-03d480b7fdcb/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: 6BFD-8D5F-A165-4BD9-88EB
      - 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: 147a0489-eb84-4131-9860-a7012e7db8a8
      - 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: fdc256c1-de60-44af-817b-1fbcad735fb9
      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: d185a64e-7d74-47ba-bdf3-64f5828105e1
                  Type: StaticIP
                  Value: 95.227.51.142
                  DNSPolicyId: bc05ac62-5ca1-48a4-adf2-bee2276bb903
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6BFD-8D5F-A165-4BD9-88EB/sites/147a0489-eb84-4131-9860-a7012e7db8a8/dnsp/mappings/fdc256c1-de60-44af-817b-1fbcad735fb9
    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: 6B30-1003-1CFA-452A-8F39
      - 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: 3a42ab7a-cb2a-4cb3-97c4-445146666c20
      - name: mappingId
        in: path
        required: true
        description: The identifier of the mapping.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 15c63f5c-269f-4301-9068-1b525c587b3e
      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.207.131.163
              DNSPolicyId: 5b08985b-9fdf-49a9-a0f3-3ef6ea0185e8
        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: 12cfbc1e-ce68-415c-a345-f286453ba1cf
                Type: StaticIP
                Value: 95.153.240.242
                DNSPolicyId: cac63551-35bb-4c93-b792-100031df16d9
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6B30-1003-1CFA-452A-8F39/sites/3a42ab7a-cb2a-4cb3-97c4-445146666c20/dnsp/mappings/15c63f5c-269f-4301-9068-1b525c587b3e
    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: EA51-CEE3-3631-48CE-A2CB
      - 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: e8c7654f-eedf-4d43-8377-860fa57abfc4
      - name: mappingId
        in: path
        required: true
        description: The identifier of the mapping to be deleted.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 56647683-31b8-4f88-80de-a4b67f455cfe
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/EA51-CEE3-3631-48CE-A2CB/sites/e8c7654f-eedf-4d43-8377-860fa57abfc4/dnsp/mappings/56647683-31b8-4f88-80de-a4b67f455cfe
  /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: 5995-7B7C-CB16-41FE-8388
      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/5995-7B7C-CB16-41FE-8388/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.


        **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: 49F8-C605-5FC9-47A0-9D78
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 71cd57d8-52c2-4b86-82b1-8655c3405607
      - name: startDate
        in: query
        description: If specified, returns blocked requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:32.8501075Z
      - name: endDate
        in: query
        description: If specified, returns blocked requests before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:32.8501075Z
      - 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: 45
      responses:
        200:
          description: Information about DNS requests that were blocked by the DNS Protection service.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPBlockedTrafficResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 1000
                StartDate: 2026-07-05T09:15:32.8501075Z
                EndDate: 2026-07-06T09:15:32.8501075Z
                SiteId: 96b58b44-bec2-4ec9-a4fa-0845ee52e115
                SiteName: Site 1
                BlockedRequests:
                - Timestamp: 2026-07-06T09:14:32.8501075Z
                  HostName: MyComputer1
                  UserName: User1
                  AgentVersion: 1.2.1.28
                  SourceIp: 95.50.43.110
                  Domain: www.blocked-domain1.com
                  DomainIps:
                  - 95.95.86.93
                  - 95.81.59.56
                  CategoryIds:
                  - 50
                  - 57
                  BlockReasonId: 4
                - Timestamp: 2026-07-06T09:13:32.8501075Z
                  HostName: MyComputer2
                  UserName: User2
                  AgentVersion: 1.2.1.28
                  SourceIp: 95.84.186.44
                  Domain: www.blocked-domain2.com
                  DomainIps:
                  - 95.37.214.186
                  - 95.91.96.114
                  CategoryIds:
                  - 51
                  - 58
                  BlockReasonId: 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/49F8-C605-5FC9-47A0-9D78/sites/71cd57d8-52c2-4b86-82b1-8655c3405607/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.


        **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: 54E4-74A4-0AC4-4C7B-B75F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: d245014f-37cd-45e9-ac07-ca6678df50a7
      - 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**.


          Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.
        schema:
          type: string
          nullable: false
        example: 7,14,47
      - name: startDate
        in: query
        description: If specified, returns requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-06-06T09:15:32.9057964Z
      - name: endDate
        in: query
        description: If specified, returns requests before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-07-06T09:15:32.9057964Z
      - name: pageSize
        in: query
        description: >-
          Specifies the maximum number of records to return. Valid values are between 100 and 10000.


          Default 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.


          Default value is 1
        schema:
          type: integer
          format: int32
          nullable: false
        example: 39
      responses:
        200:
          description: Information about DNS requests for a set of DNS Protection categories.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficByCategoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 1000
                StartDate: 2026-07-05T09:15:32.9052655Z
                EndDate: 2026-07-06T09:15:32.9052655Z
                SiteId: 81a62c4e-f72e-4a76-9176-97dca0b8c3a4
                SiteName: Site 1
                Requests:
                - Timestamp: 2026-07-06T09:14:32.9052655Z
                  HostName: MyComputer1
                  UserName: User1
                  AgentVersion: 1.3.0.197
                  SourceIp: 95.61.33.219
                  Domain: www.category-domain1.com
                  DomainIps:
                  - 95.97.134.253
                  - 95.103.21.36
                  CategoryIds:
                  - 34
                  - 42
                  ActionTaken: 4
                - Timestamp: 2026-07-06T09:13:32.9052655Z
                  HostName: MyComputer2
                  UserName: User2
                  AgentVersion: 1.3.0.197
                  SourceIp: 95.249.221.93
                  Domain: www.category-domain2.com
                  DomainIps:
                  - 95.131.54.43
                  - 95.175.200.111
                  CategoryIds:
                  - 7
                  - 81
                  ActionTaken: 0
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/54E4-74A4-0AC4-4C7B-B75F/sites/d245014f-37cd-45e9-ac07-ca6678df50a7/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: 2203-76D6-4A30-4010-98DE
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-06-06T09:15:32.9397809Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-06T09:15:32.9397809Z
      responses:
        200:
          description: Traffic summary information for GSM sites.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficSummaryResponseModel'
              example:
                StartDate: 2026-07-05T09:15:32.9397809Z
                EndDate: 2026-07-06T09:15:32.9397809Z
                Sites:
                - SiteId: 4835ac3e-d5cf-47f8-a103-40da55d90207
                  SiteName: Site 1
                  DNSRequests: 10974
                  BlockedDNSRequests: 134
                  RiskyDNSRequests: 101
                - SiteId: 531fe429-3d62-4fe2-be97-421758b4ad5b
                  SiteName: Site 2
                  DNSRequests: 11108
                  BlockedDNSRequests: 123
                  RiskyDNSRequests: 179
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2203-76D6-4A30-4010-98DE/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: 373A-2751-299D-4A97-80A7
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: a54e64e1-94bf-424e-97ab-22c549282936
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:32.9605181Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:32.9605181Z
      responses:
        200:
          description: Traffic summary information for GSM sites.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficSummaryForSiteResponseModel'
              example:
                StartDate: 2026-07-05T09:15:32.9605181Z
                EndDate: 2026-07-06T09:15:32.9605181Z
                Sites:
                - SiteId: a04d42ab-652a-4de1-bef4-2dd53460ab15
                  SiteName: Site 1
                  DNSRequests: 14133
                  BlockedDNSRequests: 116
                  RiskyDNSRequests: 128
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/373A-2751-299D-4A97-80A7/sites/a54e64e1-94bf-424e-97ab-22c549282936/dnsp/trafficsummary
  /api/console/gsm/{gsmKey}/dnsp/trafficsummary/categoryreport:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and allowed DNS requests) grouped by categories for a given GSM.
      description: "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days."
      operationId: ConsoleGSM_GetDNSPTrafficCategorySummary
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: B784-2416-D9F1-4B08-971B
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-06-06T09:15:32.9898900Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-06T09:15:32.9898900Z
      responses:
        200:
          description: Traffic summary category report for a given GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryResponseModel'
              example:
                StartDate: 2026-07-05T09:15:32.9898900Z
                EndDate: 2026-07-06T09:15:32.9898900Z
                Records:
                - CategoryId: 2
                  DNSRequests: 13389
                  AllowedDNSRequests: 9894
                  BlockedDNSRequests: 3495
                - CategoryId: 3
                  DNSRequests: 12994
                  AllowedDNSRequests: 9851
                  BlockedDNSRequests: 3143
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/B784-2416-D9F1-4B08-971B/dnsp/trafficsummary/categoryreport
  /api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficsummary/categoryreport:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a traffic summary (e.g. the number of total DNS requests, blocked DNS requests, and allowed DNS requests) grouped by categories for a specific site under a given GSM.
      description: "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days."
      operationId: ConsoleGSM_GetDNSPTrafficCategorySummary2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: C6C9-5527-02E2-4464-976E
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: c000cf5d-0a75-40c5-ad01-6ab1dc896421
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:33.0115340Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:33.0115340Z
      responses:
        200:
          description: Traffic summary category report for a given GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryForSiteResponseModel'
              example:
                StartDate: 2026-07-05T09:15:33.0115340Z
                EndDate: 2026-07-06T09:15:33.0115340Z
                Records:
                - CategoryId: 2
                  DNSRequests: 10025
                  AllowedDNSRequests: 7661
                  BlockedDNSRequests: 2364
                - CategoryId: 3
                  DNSRequests: 11973
                  AllowedDNSRequests: 8874
                  BlockedDNSRequests: 3099
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C6C9-5527-02E2-4464-976E/sites/c000cf5d-0a75-40c5-ad01-6ab1dc896421/dnsp/trafficsummary/categoryreport
  /api/console/gsm/{gsmKey}/dnsp/trafficsummary/categoryuserreport:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a traffic summary (e.g. the number of blocked DNS requests, allowed DNS requests, and user name) grouped by categories and users for a given GSM.
      description: "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days."
      operationId: ConsoleGSM_GetDNSPTrafficCategoryUserSummary
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 713E-0D68-387F-48D3-BA60
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-06-06T09:15:33.0487409Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-07-06T09:15:33.0487409Z
      - name: categories
        in: query
        description: A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers. If omitted, defaults to all categories.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: 34,47,42
      responses:
        200:
          description: Traffic summary category user report for a specific GSM site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModel'
              example:
                StartDate: 2026-07-05T09:15:33.0487409Z
                EndDate: 2026-07-06T09:15:33.0487409Z
                Records:
                - CategoryId: 2
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 12435
                    BlockedDNSRequests: 2829
                  - UserName: User2
                    AllowedDNSRequests: 12909
                    BlockedDNSRequests: 3296
                - CategoryId: 3
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 14493
                    BlockedDNSRequests: 1545
                  - UserName: User2
                    AllowedDNSRequests: 10554
                    BlockedDNSRequests: 3932
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/713E-0D68-387F-48D3-BA60/dnsp/trafficsummary/categoryuserreport
  /api/console/gsm/{gsmKey}/sites/{siteId}/dnsp/trafficsummary/categoryuserreport:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns a traffic summary (e.g. the number of blocked DNS requests, allowed DNS requests, and user name) grouped by categories and users for a specific site under a given GSM.
      description: "**NOTE:** The maximum allowed time difference between 'startDate' and 'endDate' is 30 days."
      operationId: ConsoleGSM_GetDNSPTrafficCategoryUserSummary2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: F084-D441-7A7F-4EF6-9641
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 0602bebe-357e-4574-a9e4-936c65fb0b2c
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:33.0684691Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:33.0684691Z
      - name: categories
        in: query
        description: A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers. If omitted, defaults to all categories.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 42,34,55
      responses:
        200:
          description: Traffic summary category user report for a specific GSM site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryForSiteResponseModel'
              example:
                StartDate: 2026-07-05T09:15:33.0684691Z
                EndDate: 2026-07-06T09:15:33.0684691Z
                Records:
                - CategoryId: 2
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 11796
                    BlockedDNSRequests: 1080
                  - UserName: User2
                    AllowedDNSRequests: 12133
                    BlockedDNSRequests: 1163
                - CategoryId: 3
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 13625
                    BlockedDNSRequests: 3531
                  - UserName: User2
                    AllowedDNSRequests: 14973
                    BlockedDNSRequests: 2030
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/F084-D441-7A7F-4EF6-9641/sites/0602bebe-357e-4574-a9e4-936c65fb0b2c/dnsp/trafficsummary/categoryuserreport
  /api/console/gsm/{gsmKey}/sites/{siteId}/wsat/campaigns/phishing/activity:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Returns information on activity seen for Webroot Security Awareness Training (WSAT) phishing campaigns associated to a given site.
      description: '**NOTE:** The *startDate* cannot be earlier than one year ago, and the timespan between *startDate* and *endDate* must not exceed 90 days.'
      operationId: ConsoleGSM_GetWSATPhishingCampaign
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 6CCB-0795-7A68-4E1F-98C8
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ce892e7e-6231-4bb5-8653-5fec87c76295
      - name: startDate
        in: query
        description: If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 days.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:33.1108729Z
      - name: endDate
        in: query
        description: If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:33.1108729Z
      responses:
        200:
          description: User activity information within the specified dates for matching phishing campaigns.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetWSATPhishingActivityResponseModel'
              example:
                CampaignType: Phishing
                StartDate: 2026-04-06T09:15:33.1108729Z
                EndDate: 2026-05-06T09:15:33.1108729Z
                Campaigns:
                - SiteId: 113ba5af-c0fe-4150-ba9d-054be74a9890
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 1
                  LaunchDate: 2026-05-04T09:15:33.1108729Z
                  TotalUsers: 2
                  TotalClicked: 2
                  TargetUsers:
                  - Email: email1@domain.com
                    Clicked: true
                  - Email: email2@domain.com
                    Clicked: true
                - SiteId: 113ba5af-c0fe-4150-ba9d-054be74a9890
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 2
                  LaunchDate: 2026-05-02T09:15:33.1108729Z
                  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/6CCB-0795-7A68-4E1F-98C8/sites/ce892e7e-6231-4bb5-8653-5fec87c76295/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: CBA6-E6C4-ED9C-451D-A7F5
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 573f6f4b-b4f7-444a-b616-9a26e264cf8f
      - name: startDate
        in: query
        description: If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 Days.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-06-06T09:15:33.1611855Z
      - name: endDate
        in: query
        description: If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-07-06T09:15:33.1611855Z
      responses:
        200:
          description: User activity information within the specified dates for matching training campaigns.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetWSATTrainingActivityResponseModel'
              example:
                CampaignType: Training
                StartDate: 2026-04-06T09:15:33.1611855Z
                EndDate: 2026-05-06T09:15:33.1611855Z
                Campaigns:
                - SiteId: db628d10-69dc-4622-bf43-7f43cf13283f
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 1
                  LaunchDate: 2026-05-04T09:15:33.1611855Z
                  TotalUsers: 2
                  TotalComplete: 2
                  TargetUsers:
                  - Email: email1@domain.com
                    Complete: true
                  - Email: email2@domain.com
                    Complete: true
                - SiteId: db628d10-69dc-4622-bf43-7f43cf13283f
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 2
                  LaunchDate: 2026-05-02T09:15:33.1611855Z
                  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/CBA6-E6C4-ED9C-451D-A7F5/sites/573f6f4b-b4f7-444a-b616-9a26e264cf8f/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: 
              ItemsByAttributes:
              - LicenseSeats: 150
                LicenseCategoryName: SAEP
                Years: 1
                LicenseKeycodeTypeId: 3
                ItemHierarchyId: 1
                ExpirationDate: 
                VendorOrderItemCode: 
                CartItemBundleId: 1
                LicenseAttributeValue: 110
                UsagePricingModelId: 
                VaultId: 
                ProductPlatformId: 
                RetentionModelId: 
                ProductPricingLevelId: 
              - LicenseSeats: 150
                LicenseCategoryName: SDNS
                Years: 1
                LicenseKeycodeTypeId: 3
                ItemHierarchyId: 2
                ExpirationDate: 
                VendorOrderItemCode: 
                CartItemBundleId: 1
                LicenseAttributeValue: 110
                UsagePricingModelId: 
                VaultId: 
                ProductPlatformId: 
                RetentionModelId: 
                ProductPricingLevelId: 
        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
                TotalAmountFmt: $1647.00
                SubTotalAmount: 1647
                SubTotalAmountFmt: $1647.00
                TaxAmount: 0
                TaxAmountFmt: $0.00
                Locale: en_US
                SalesOrderDate: 2026-07-06T00:00:00.0000000Z
                CurrencyCode: USD
                Items:
                - - CartOrderItemId: 11223344
                    LineItem: 1
                    Quantity: 150
                    Years: 1
                    ListPrice: 4.9900000000000002
                    ListPriceFmt: $4.99
                    UnitPrice: 4.9900000000000002
                    UnitPriceFmt: $4.99 Today
                    SubTotalAmount: 748.5
                    SubTotalAmountFmt: $748.50 Today
                    SubTotalListAmount: 748.5
                    SubTotalListAmountFmt: $748.50
                    ProductId: 152200101
                    ProductDescription: Webroot Business Endpoint Protection 1 Year Parent
                    ProductTypeId: 1
                    ProductTypeDescription: New
                    LicenseKeycodeTypeId: 3
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    ProductFamilyDescription: Webroot Secure Anywhere Business
                    StartDate: 2026-07-06T00:00:00.0000000Z
                    ExpirationDate: 2027-07-06T00:00:00.0000000Z
                    CartItemBundleId: 1
                    ItemHierarchyId: 1
                    DependentCartOrderItemId: 
                    Keycode: 
                    LicenseAttributeValue: 110
                    LicenseAttributeValueDescription: Monthly Sold
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    VendorOrderItemCode: 
                    OrderItemUpdateTypeId: 
                    LicenseSeats: 1
                    VaultId: 
                    VaultName: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                    ProductPricingLevelId: 1
                    ProductPricingLevelDescription: Standard
                  - CartOrderItemId: 11223345
                    LineItem: 2
                    Quantity: 150
                    Years: 1
                    ListPrice: 5.9900000000000002
                    ListPriceFmt: $5.99
                    UnitPrice: 5.9900000000000002
                    UnitPriceFmt: $5.99 Today
                    SubTotalAmount: 898.5
                    SubTotalAmountFmt: $898.50 Today
                    SubTotalListAmount: 898.5
                    SubTotalListAmountFmt: $898.50
                    ProductId: 152300101
                    ProductDescription: Webroot DNS Protection 1 Year Parent
                    ProductTypeId: 1
                    ProductTypeDescription: New
                    LicenseKeycodeTypeId: 3
                    LicenseCategoryName: SDNS
                    LicenseCategoryDescription: Webroot DNS Protection
                    ProductFamilyDescription: Webroot Secure Anywhere Business
                    StartDate: 2026-07-06T00:00:00.0000000Z
                    ExpirationDate: 2027-07-06T00:00:00.0000000Z
                    CartItemBundleId: 1
                    ItemHierarchyId: 2
                    DependentCartOrderItemId: 
                    Keycode: 
                    LicenseAttributeValue: 110
                    LicenseAttributeValueDescription: Monthly Sold
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    VendorOrderItemCode: 
                    OrderItemUpdateTypeId: 
                    LicenseSeats: 1
                    VaultId: 
                    VaultName: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                    ProductPricingLevelId: 1
                    ProductPricingLevelDescription: Standard
                Customers:
                  Billing:
                    FirstName: John
                    LastName: Doe
                    Address1: Webroot Way 21
                    Address2: 
                    City: Broomfield
                    PostalCode: 80021
                    State: CO
                    Country: US
                    CustomerEmail: jdoe@webroot.com
                    CompanyName: ACME, Inc.
                    ExternalCustomerKey: E000407557
                    VatId: A123456
                    CustomerTypeId: 1
                    CustomerTypeDescription: Billing
                    OptIn: true
                  Shipping: 
                  Reseller: 
      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: PSV0029629653
      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.990000000000002
                TotalAmountFmt: $39.99
                SubTotalAmount: 39.990000000000002
                SubTotalAmountFmt: $39.99
                TaxAmount: 0
                TaxAmountFmt: $0.00
                Locale: en_US
                SalesOrderDate: 2026-07-06T12:18:23.0000000
                CurrencyCode: USD
                Items:
                - - CartOrderItemId: 11223344
                    LineItem: 1
                    Quantity: 150
                    Years: 1
                    ListPrice: 4.9900000000000002
                    ListPriceFmt: $4.99
                    UnitPrice: 4.9900000000000002
                    UnitPriceFmt: $4.99 Today
                    SubTotalAmount: 748.5
                    SubTotalAmountFmt: $748.50 Today
                    SubTotalListAmount: 748.5
                    SubTotalListAmountFmt: $748.50
                    ProductId: 152200101
                    ProductDescription: Webroot Business Endpoint Protection 1 Year Parent
                    ProductTypeId: 1
                    ProductTypeDescription: New
                    LicenseKeycodeTypeId: 3
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    ProductFamilyDescription: Webroot Secure Anywhere Business
                    StartDate: 2026-07-06T00:00:00.0000000Z
                    ExpirationDate: 2027-07-06T00:00:00.0000000Z
                    CartItemBundleId: 1
                    ItemHierarchyId: 1
                    DependentCartOrderItemId: 
                    Keycode: 
                    LicenseAttributeValue: 110
                    LicenseAttributeValueDescription: Monthly Sold
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    VendorOrderItemCode: 
                    OrderItemUpdateTypeId: 
                    LicenseSeats: 1
                    VaultId: 
                    VaultName: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                    ProductPricingLevelId: 1
                    ProductPricingLevelDescription: Standard
                  - CartOrderItemId: 11223345
                    LineItem: 2
                    Quantity: 150
                    Years: 1
                    ListPrice: 5.9900000000000002
                    ListPriceFmt: $5.99
                    UnitPrice: 5.9900000000000002
                    UnitPriceFmt: $5.99 Today
                    SubTotalAmount: 898.5
                    SubTotalAmountFmt: $898.50 Today
                    SubTotalListAmount: 898.5
                    SubTotalListAmountFmt: $898.50
                    ProductId: 152300101
                    ProductDescription: Webroot DNS Protection 1 Year Parent
                    ProductTypeId: 1
                    ProductTypeDescription: New
                    LicenseKeycodeTypeId: 3
                    LicenseCategoryName: SDNS
                    LicenseCategoryDescription: Webroot DNS Protection
                    ProductFamilyDescription: Webroot Secure Anywhere Business
                    StartDate: 2026-07-06T00:00:00.0000000Z
                    ExpirationDate: 2027-07-06T00:00:00.0000000Z
                    CartItemBundleId: 1
                    ItemHierarchyId: 2
                    DependentCartOrderItemId: 
                    Keycode: 
                    LicenseAttributeValue: 110
                    LicenseAttributeValueDescription: Monthly Sold
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    VendorOrderItemCode: 
                    OrderItemUpdateTypeId: 
                    LicenseSeats: 1
                    VaultId: 
                    VaultName: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                    ProductPricingLevelId: 1
                    ProductPricingLevelDescription: Standard
                Customers:
                  Billing:
                    FirstName: John
                    LastName: Doe
                    Address1: Webroot Way 21
                    Address2: 
                    City: Broomfield
                    PostalCode: 80021
                    State: CO
                    Country: US
                    CustomerEmail: jdoe@webroot.com
                    CompanyName: ACME, Inc.
                    ExternalCustomerKey: E000935220
                    VatId: A123456
                    CustomerTypeId: 1
                    CustomerTypeDescription: Billing
                    OptIn: true
                  Shipping:
                    FirstName: John
                    LastName: Doe
                    Address1: Webroot Way 21
                    Address2: 
                    City: Broomfield
                    PostalCode: 80021
                    State: CO
                    Country: US
                    CustomerEmail: jdoe@webroot.com
                    CompanyName: ACME, Inc.
                    ExternalCustomerKey: E000323564
                    VatId: A123456
                    CustomerTypeId: 2
                    CustomerTypeDescription: Shipping
                    OptIn: true
                  Reseller: 
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/carts/PSV0029629653
  /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: PSV0020262129
      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: 
                City: Broomfield
                PostalCode: 80021
                State: CO
                Country: US
                CustomerEmail: jdoe@webroot.com
                CompanyName: ACME, Inc.
                CompanyTypeId: 11
                ExternalCustomerKey: E000547280
                OptIn: true
              Shipping:
                FirstName: John
                LastName: Doe
                Address1: Webroot Way 21
                Address2: 
                City: Broomfield
                PostalCode: 80021
                State: CO
                Country: US
                CustomerEmail: jdoe@webroot.com
                CompanyName: ACME, Inc.
                CompanyTypeId: 11
                ExternalCustomerKey: E000900005
                OptIn: true
        required: true
        x-position: 2
      responses:
        200:
          description: Information about the item that was added.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/AddCustomersToCartResponseServiceModel'
              example:
                Billing:
                  FirstName: John
                  LastName: Doe
                  Address1: Webroot Way 21
                  Address2: 
                  City: Broomfield
                  PostalCode: 80021
                  State: CO
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000578050
                  VatId: A123456
                  CustomerTypeId: 1
                  CustomerTypeDescription: Billing
                  OptIn: true
                Reseller:
                  FirstName: John
                  LastName: Doe
                  Address1: Webroot Way 21
                  Address2: 
                  City: Broomfield
                  PostalCode: 80021
                  State: CO
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000773193
                  VatId: A123456
                  CustomerTypeId: 3
                  CustomerTypeDescription: Reseller
                  OptIn: true
                Shipping:
                  FirstName: John
                  LastName: Doe
                  Address1: Webroot Way 21
                  Address2: 
                  City: Broomfield
                  PostalCode: 80021
                  State: CO
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000804010
                  VatId: A123456
                  CustomerTypeId: 2
                  CustomerTypeDescription: Shipping
                  OptIn: true
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/carts/PSV0020262129/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: PSV0045410329
      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: 
                  City: Broomfield
                  PostalCode: 80021
                  State: 
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000811330
                  VatId: A123456
                  CustomerTypeId: 1
                  CustomerTypeDescription: Billing
                  OptIn: true
                Reseller:
                  FirstName: John
                  LastName: Doe
                  Address1: Webroot Way 21
                  Address2: 
                  City: Broomfield
                  PostalCode: 80021
                  State: 
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000150001
                  VatId: A123456
                  CustomerTypeId: 3
                  CustomerTypeDescription: Reseller
                  OptIn: true
                Shipping:
                  FirstName: John
                  LastName: Doe
                  Address1: Webroot Way 21
                  Address2: 
                  City: Broomfield
                  PostalCode: 80021
                  State: 
                  Country: US
                  CustomerEmail: jdoe@webroot.com
                  CompanyName: ACME, Inc.
                  ExternalCustomerKey: E000364621
                  VatId: A123456
                  CustomerTypeId: 2
                  CustomerTypeDescription: Shipping
                  OptIn: true
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/carts/PSV0045410329/customers
  /api/ecom/shop/orders:
    post:
      tags:
      - 'ECom: Shop'
      summary: Creates an order by processing a cart.
      operationId: Shop_CreateOrder
      requestBody:
        x-name: request
        description: Information about the order to process.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/CreateOrderRequestServiceModel'
            example:
              VendorOrderCode: MSP0046543057
              PaymentMethod: PurchaseOrder
              PurchaseOrder: P4713A20
              LicenseDistributionMethodCode: ABCD
        required: true
        x-position: 1
      responses:
        200:
          description: Details about the newly created order.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/CreateOrderResponseServiceModel'
              example:
                VendorOrderDate: 2026-06-20T07:34:39.0000000
                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.990000000000002
                  ItemHierarchyId: 1
                  ItemBundleId: 1
                  KeyCode: 986E040506F44E4CABF6
                  ProductDescription: Webroot WiFi Security 3 Device 1 Year Subscription
                  ProductTypeDescription: New
                  LicenseAttributeValue: 110
                  LicenseAttributeValueDescription: Monthly Sold
                  LicenseAttributeDescription: MSP Billing
                  UsagePricingModelId: 
                  UsagePricingModelName: 
                  VaultId: 
                  VaultName: 
                  ProductPlatformId: 
                  ProductPlatformName: 
                  RetentionModelId: 
                  RetentionModelName: 
                  ProductPricingLevelId: 
                  ProductPricingLevelDescription: 
                  CustomAttribute: 
                Customers:
                  Billing:
                    CustomerId: 78116596
                    PhoneNumber: 0815 4711
                    FirstName: John
                    LastName: Doe
                    Address1: Webroot Way 21
                    Address2: 
                    City: Eastminster
                    PostalCode: 09513
                    State: 
                    Country: USA
                    CustomerEmail: jdoe@webroot.com
                    CompanyName: ACME, Inc.
                    ExternalCustomerKey: E000473658
                    VatId: A123456
                    CustomerTypeId: 1
                    CustomerTypeDescription: Billing
                    OptIn: true
                  Shipping:
                    CustomerId: 63219049
                    PhoneNumber: 0815 4711
                    FirstName: John
                    LastName: Doe
                    Address1: Webroot Way 21
                    Address2: 
                    City: Eastminster
                    PostalCode: 09513
                    State: 
                    Country: USA
                    CustomerEmail: jdoe@webroot.com
                    CompanyName: ACME, Inc.
                    ExternalCustomerKey: E000963404
                    VatId: A123456
                    CustomerTypeId: 2
                    CustomerTypeDescription: Shipping
                    OptIn: true
                  Reseller: 
      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: 4A999F6723E7427A9C2B
      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: 6E8DD9E38B8145079B26
                  VendorOrderCode: PSV0087780470
                  ExceptionStatus: 
                  PartnerLicenseStatus: approved
                - Keycode: 6E8DD9E38B8145079B26
                  VendorOrderCode: PSV0076709071
                  ExceptionStatus: resolved
                  PartnerLicenseStatus: 
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/4A999F6723E7427A9C2B/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: E6FD63C097EF4193A76F
      - name: licenseCategoryName
        in: path
        required: true
        description: "The identifier for a particular product on a license. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OTMDRC, PLRP, CALLY, OSBPB, OSBPH."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: WSAC
      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/E6FD63C097EF4193A76F/licensecategory/WSAC
  /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: B6CD7B6B93724D66B3F2
      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: 134456832
                Keycode: FF4748BDE20A49E7A73C
                ProductLineDescription: Webroot Business
                ParentLicenseId: 184391479
                ParentKeycode: D64CE8564F4A45919486
                ChildLicenseActivations: 2
                PartnerStartDate: 2025-08-03T07:42:00.0000000
                CustomAttribute: 
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 292
                    LicenseKeycodeTypeId: 3
                    StartDate: 2024-02-06T05:25:42.0000000
                    ExpirationDate: 2027-02-22T22:46:35.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: trial
                    ItemHierarchyId: 1
                    ItemHierarchyName: primary
                    LicenseStatusId: 0
                    LicenseStatusDescription: inactive
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                  SDNS:
                    LicenseCategoryName: SDNS
                    LicenseCategoryDescription: Webroot DNS Protection
                    LicenseSeats: 910
                    LicenseKeycodeTypeId: 3
                    StartDate: 2025-07-10T04:55:11.0000000
                    ExpirationDate: 2027-03-20T18:45:01.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: trial
                    ItemHierarchyId: 2
                    ItemHierarchyName: secondary
                    LicenseStatusId: 0
                    LicenseStatusDescription: inactive
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 11698
                  CompanyName: Sample Company
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/B6CD7B6B93724D66B3F2
  /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: D5682047C94145ACB5DF
      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: 142187047
                  Keycode: 7492E3E9497642759DFA
                  ParentKeycode: 22F6F55AD74A4A54B149
                  SiteName: My site 1
                  ChildLicenseProfile:
                    SAEP:
                      LicenseCategoryName: SAEP
                      LicenseCategoryDescription: Webroot Endpoint Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2024-12-14T06:56:05.0000000
                      ExpirationDate: 2028-12-26T11:35:07.0000000
                      CategoryTypeName: full
                      ItemHierarchyId: 1
                      ItemHierarchyName: primary
                      LicenseStatusId: 3
                      LicenseStatusDescription: manually disabled
                    SDNS:
                      LicenseCategoryName: SDNS
                      LicenseCategoryDescription: Webroot DNS Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2026-03-01T23:15:34.0000000
                      ExpirationDate: 2027-06-02T23:37:18.0000000
                      CategoryTypeName: trial
                      ItemHierarchyId: 2
                      ItemHierarchyName: secondary
                      LicenseStatusId: 1
                      LicenseStatusDescription: active
                    SECA:
                      LicenseCategoryName: SECA
                      LicenseCategoryDescription: Webroot Security Awareness
                      LicenseKeycodeTypeId: 3
                      StartDate: 2025-05-06T23:52:09.0000000
                      ExpirationDate: 2026-12-26T17:30:36.0000000
                      CategoryTypeName: full
                      ItemHierarchyId: 2
                      ItemHierarchyName: secondary
                      LicenseStatusId: 1
                      LicenseStatusDescription: active
                - LicenseId: 128288872
                  Keycode: 61C816676BEF435DB4D5
                  ParentKeycode: 22F6F55AD74A4A54B149
                  SiteName: My site 2
                  ChildLicenseProfile:
                    SAEP:
                      LicenseCategoryName: SAEP
                      LicenseCategoryDescription: Webroot Endpoint Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2025-08-12T09:08:20.0000000
                      ExpirationDate: 2026-12-27T14:30:21.0000000
                      CategoryTypeName: trial
                      ItemHierarchyId: 1
                      ItemHierarchyName: primary
                      LicenseStatusId: 3
                      LicenseStatusDescription: manually disabled
                    SDNS:
                      LicenseCategoryName: SDNS
                      LicenseCategoryDescription: Webroot DNS Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2025-02-07T22:37:15.0000000
                      ExpirationDate: 2027-06-19T11:25:30.0000000
                      CategoryTypeName: trial
                      ItemHierarchyId: 2
                      ItemHierarchyName: secondary
                      LicenseStatusId: 1
                      LicenseStatusDescription: active
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/D5682047C94145ACB5DF/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: 483
              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: E000152637
              VaultId: 
              ProductPlatformId: 
              Modules:
              - LicenseSeats: 807
                LicenseCategoryName: SDNS
                VaultId: 
                ProductPlatformId: 
              - LicenseSeats: 966
                LicenseCategoryName: SECA
                VaultId: 
                ProductPlatformId: 
        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: 
                LicenseId: 136013815
                Keycode: F5E8C7EB02684F17806F
                ProductLineDescription: Webroot Business
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 653
                    LicenseKeycodeTypeId: 3
                    StartDate: 2026-07-05T16:02:25.0000000
                    ExpirationDate: 2027-01-08T13:17:34.0000000
                    LicenseAttributeValue: 1
                    LicenseAttributeValueDescription: ''
                    LicenseAttributeDescription: ''
                    CategoryTypeName: full
                    ItemHierarchyId: 1
                    ItemHierarchyName: primary
                    LicenseStatusId: 1
                    LicenseStatusDescription: active
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 20124
                  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: 86B169DF534F460C9967
      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: 502
                LicenseCategoryName: SDNS
                VaultId: 
                ProductPlatformId: 
              - LicenseSeats: 376
                LicenseCategoryName: SECA
                VaultId: 
                ProductPlatformId: 
        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: 171340105
                Keycode: D819EFD0848547D2BA0C
                ProductLineDescription: Webroot Business
                ParentLicenseId: 174259366
                ParentKeycode: C5BECAF8A9B14B3FAF38
                ChildLicenseActivations: 4
                PartnerStartDate: 2024-04-20T08:47:38.0000000
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 944
                    LicenseKeycodeTypeId: 3
                    StartDate: 2023-10-16T06:42:12.0000000
                    ExpirationDate: 2029-02-22T14:14:00.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: trial
                    ItemHierarchyId: 1
                    ItemHierarchyName: primary
                    LicenseStatusId: 2
                    LicenseStatusDescription: disabled
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                  SDNS:
                    LicenseCategoryName: SDNS
                    LicenseCategoryDescription: Webroot DNS Protection
                    LicenseSeats: 56
                    LicenseKeycodeTypeId: 3
                    StartDate: 2025-08-23T12:50:12.0000000
                    ExpirationDate: 2027-11-16T04:27:32.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: full
                    ItemHierarchyId: 2
                    ItemHierarchyName: secondary
                    LicenseStatusId: 2
                    LicenseStatusDescription: disabled
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 96885
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/trials/86B169DF534F460C9967/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: 55d68a02-5a7e-4aa5-aaa6-8b8999a72215
                  DeliveryType: fetch
                  Domain:
                    Type: Site
                    Values:
                    - Name: GSMKey
                      Value: E3A3-B6AC-0641-4A61-96D4
                    - Name: SiteKey
                      Value: 7800-05C2-F691-4D8B-8533
                  EventTypes:
                  - Endpoint.FileDetection
                  Webhook: 
                  CreatedDate: 2026-04-06T09:15:34.4865096Z
                  UpdatedDate: 2026-05-06T09:15:34.4865096Z
                - SubscriptionId: 2e6afdc8-12d2-42fe-8f86-fec1bbaebbe7
                  DeliveryType: webhook
                  Domain:
                    Type: Site
                    Values:
                    - Name: GSMKey
                      Value: 19AE-8E2D-739A-42F7-BBDD
                    - Name: SiteKey
                      Value: 4069-11C1-15ED-4B91-A79A
                  EventTypes:
                  - Endpoint.FileDetection
                  Webhook:
                    DeliveryContext: MyCustomCorrelationString
                    DeliveryRateInSeconds: 90
                    DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                    Suspended: false
                    Statistics: 
                  CreatedDate: 2026-04-06T09:15:34.4865096Z
                  UpdatedDate: 2026-05-06T09:15:34.4865096Z
      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: 6DA5-79C9-6E6D-4CCC-ADF9
                - Name: SiteKey
                  Value: C40D-2277-44F7-4992-966B
              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: 13119e49-2c65-42a3-8f14-aa2224a971d6
                DeliveryType: webhook
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: AA85-5583-7ED5-487B-8E68
                  - Name: SiteKey
                    Value: AE0B-59AB-5AA3-47D1-89A5
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-04-06T09:15:34.8722924Z
                UpdatedDate: 
      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: 32438792-06ab-4edc-9217-da357f2d876c
      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: e31776c5-a1bd-4dec-b5f7-c06708743112
                DeliveryType: fetch
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: 6AAA-90B6-08FA-4E57-9512
                  - Name: SiteKey
                    Value: 9B24-05EA-124C-4997-9ED3
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-04-06T09:15:34.4957980Z
                UpdatedDate: 2026-05-06T09:15:34.4957980Z
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/32438792-06ab-4edc-9217-da357f2d876c
    put:
      tags:
      - 'Notifications: Subscriptions'
      summary: Edits the information of a specific subscription.
      description: >-
        **Note for webhook-based subscriptions:**

        When 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.


        See 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: 97564b86-596d-47df-a126-f9ba4e67dac6
      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: a2a7a264-13ff-4197-8e52-c3f1cca224fa
                DeliveryType: webhook
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: B70B-9324-DD76-486A-9C59
                  - Name: SiteKey
                    Value: E5A8-3F02-E492-4F6B-873E
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-04-06T09:15:34.9037222Z
                UpdatedDate: 2026-07-06T09:13:34.9037222Z
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/97564b86-596d-47df-a126-f9ba4e67dac6
    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: 59ecf7bb-b3de-4443-b883-c4e283201e0b
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/59ecf7bb-b3de-4443-b883-c4e283201e0b
  /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.


        Each 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.**


        The 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.


        Event 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: d5b87ee2-e9b9-4f9f-b76a-33dd956c57a0
      - 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: dad0aca5-99c3-4ee2-ace4-16e2dff72c4d
                Count: 5
                NextPosition: mvX4ZJv1-GSkKCJGP9veCCkJAAAAAAAAZGFkMGFjYTUtOTljMy00ZWUyLWFjZTQtMTZlMmRmZjcyYzRk
                MoreAvailable: false
                Notifications:
                - EventType: WebThreatShield.UrlAction
                  EventObjectName: WtsUrlActionEvent
                  UnityAPIEventId: 7a66c1b0-22a3-4b22-b5e4-247f645cbf50
                  WtsUrlActionEvent:
                    Timestamp: 2026-07-06T09:12:34.7463501Z
                    GSMKey: 
                    GSMConsoleName: 
                    SiteKey: B7CD9809951F488A812C
                    SiteId: 
                    SiteName: 
                    MachineId: CD5C954756394102B18B7A6CF31CA524:::238B9A4478B44BE3AB0010D471D8EDA5:::238B9A4478B44BE3AB0010D471D8EDA5
                    HostName: MyComputer1
                    PublicIP: 95.222.104.124
                    BlockDetails:
                      ActionTaken: BLOCK
                      BlockedUrl: http://www.category-domain1.com
                      BlockReasonId: 56
                      BlockReasonName: Malware Sites
                      BCRI: 10
                - EventType: Endpoint.FileDetection
                  EventObjectName: EndpointFileDetectionEvent
                  UnityAPIEventId: 94b572c6-8bf3-40a9-a72d-52c033761ffa
                  EndpointFileDetectionEvent:
                    Timestamp: 2026-07-06T09:11:35.0000000Z
                    GSMKey: D14DFBDD9409402BB1E8
                    GSMConsoleName: My Management Console
                    SiteKey: 86343192D0214783BB25
                    SiteId: 691c1c52-637c-fe11-4d33-1edde4dabcea
                    SiteName: My GSM Site 2
                    MachineId: 19B3173ACC644B398354B0D9CBF22879:::44EE5A9A161E41D683564AFB64EAD64A:::44EE5A9A161E41D683564AFB64EAD64A
                    HostName: MyComputer2
                    PublicIP: 95.54.136.53
                    ScanInfo:
                      ScanId: b410d39d-f99b-4b1e-a8fa-ee7f1f8c987e
                      ScanType: RT
                    DetectionInfo:
                      FileName: eicar.com
                      FilePath: c:\users\user2\desktop
                      FileSize: 68
                      FileMD5: 44d88612fea8a8f36de82e1278abb02f
                      FileSHA256: 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f
                      Determination: B
                      MalwareGroup: Anti-Malware Testfile
                - EventType: CRSB.Backup
                  EventObjectName: BackupEvent
                  UnityAPIEventId: bd790041-2db2-4ced-8560-6c358a5fdd2f
                  BackupEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: D14DFBDD9409402BB1E8
                    GSMConsoleName: My Management Console
                    SiteKey: 16633420433449E3B1EB
                    SiteId: aad1711e-5322-634a-dce0-5ec37bdd028c
                    SiteName: My GSM Site 3
                    MachineId: 8796989F84D24F409EF59C3D33D587E6:::123D00E5AFDC4090B4C11C9F900FECD7:::123D00E5AFDC4090B4C11C9F900FECD7
                    HostName: MyComputer3
                    PublicIP: 95.63.209.92
                    BackupDetails:
                      EventId: ca8654d6-0033-49e3-b158-d1a709be4931
                      Date: 2024-02-01T03:59:42.0000000Z
                      RealLocalTime: 07/15/2024 12:00:00
                      UserId: 123456
                      BackupType: Image
                      BackupDeviceId: 2623e5ae-475c-4936-96b7-97041b14d566
                      BackupDeviceName: my_device
                      BackupLocation: AwsS3
                      BackupJobId: c155bb29-bd05-441b-8688-c726fb2fcbe7
                      RetentionModel: Standard
                      RPRealLocalTime: 07/15/2024 12:00:00
                      RPId: fff
                      TimeElapsedSec: 9772
                      LogLocation: C:\Program Files\2024-02-01T165730.XLOG
                      ProtectedSizeBytes: 2629828608
                      DeltaSizeBytes: 0
                      TransmittedSizeBytes: 0
                      Status: CompletedSuccessful
                      StatusReason: my status reason
                - EventType: CRSB.Restore
                  EventObjectName: RestoreEvent
                  UnityAPIEventId: 9c674411-0262-48b3-bc4d-7a3143afbd22
                  RestoreEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: D14DFBDD9409402BB1E8
                    GSMConsoleName: My Management Console
                    SiteKey: 7598F110CB5F4FABBEA0
                    SiteId: 3e31af63-da00-14cb-ae30-866fdb832c69
                    SiteName: My GSM Site 4
                    MachineId: 8BCBD4196CCE4715B7D0D04380B38D3F:::E94B563E03464574A48704E3AF556419:::E94B563E03464574A48704E3AF556419
                    HostName: MyComputer4
                    PublicIP: 95.227.51.18
                    RestoreDetails:
                      EventId: 966ee4f8-d358-4d8e-a2f8-a86f13c3fb17
                      Date: 2024-02-01T03:59:42.0000000Z
                      RealLocalTime: 07/15/2024 12:00:00
                      UserId: 123456
                      RecoveryType: DisasterRecovery
                      BackupDeviceId: af59c315-bfe9-4671-b743-71e17b1e040b
                      BackupDeviceName: my_device
                      BackupLocation: LocalSnapshot
                      BackupVolumeName: C:\
                      DestinationVolumeName: D:\
                      BackupJobId: 4cda67bd-154b-4a47-830c-17add6ea86b2
                      RPRealLocalTime: 07/15/2024 12:00:00
                      RealLocalTimeStarted: 07/15/2024 12:00:00
                      RPId: rp_name
                      TimeElapsedSec: 143
                      LogLocation: C:\Program Files\2024-02-01T165730.XLOG
                      RecoveredSizeBytes: 2629828608
                      TransmittedSizeBytes: 0
                      Status: CompletedSuccessful
                      StatusReason: my status reason
                - EventType: CRSB.AgentRegistration
                  EventObjectName: AgentRegistrationEvent
                  UnityAPIEventId: 02d535f7-d5a3-45c0-8409-1320e3e64f79
                  AgentRegistrationEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: D14DFBDD9409402BB1E8
                    GSMConsoleName: My Management Console
                    SiteKey: DF09213FC0834F8E9869
                    SiteId: f4f5aaf1-b308-949b-6ebc-323f3361af3a
                    SiteName: My GSM Site 5
                    MachineId: F1F3173EFE22413C84400FD2C5F562C4:::A1BD0D4B701B4F8EABC9505ED97E8E0E:::A1BD0D4B701B4F8EABC9505ED97E8E0E
                    HostName: MyComputer5
                    PublicIP: 95.22.230.181
                    AgentRegistrationDetails:
                      EventId: 3dffe1ff-389d-4f61-a46b-2b84703472ed
                      Date: 2024-02-01T03:59:42.0000000Z
                      BackupDeviceId: 558989d6-2a6b-459c-8564-0eb0f1be5e0c
                      Status: Registered
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/d5b87ee2-e9b9-4f9f-b76a-33dd956c57a0/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: 85a6a941-cca4-40d0-ba5e-fa43510a2193
      requestBody:
        x-name: request
        description: Details on where the position should point to in Unity's notification queue.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/GeneratePositionRequestModel'
            example:
              PositionType: date
              StartDate: 2026-07-04T05:00:00.0000000
        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: oS0Cb6AtAm-VI-9NP9veCNIEAAAAAAAAYTJjMzQ4ZmYtNWFiNC00NTE0LThlNzEtMjIzYTk5ZjI5ZTE0
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/85a6a941-cca4-40d0-ba5e-fa43510a2193/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: 790d7d84-3607-40fb-bf98-08d1d02647ad
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/790d7d84-3607-40fb-bf98-08d1d02647ad/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.


        See 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: 74b0d26f-41d6-42e2-a7a9-c5420e6366fa
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/74b0d26f-41d6-42e2-a7a9-c5420e6366fa/resumewebhook
  /api/securecloud/customers:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides a paginated list of all end customers, with only active customers included by default. Optionally includes closed customers based on the provided parameters.
      operationId: SecureCloudCustomers_GetAllCustomers
      parameters:
      - name: limit
        in: query
        description: The maximum number of records to return. Valid values are between 10 and 1000.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 1
        example: 10
      - name: offset
        in: query
        description: Specifies the number of records to skip, determining the starting point for displaying results. The record index starts from zero.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 2
        example: 0
      - name: includeClosedCustomers
        in: query
        description: Specifies whether to include closed customers in the results. Set to true to include closed customers; otherwise, only active customers are returned.
        schema:
          type: boolean
          default: false
          nullable: false
        x-position: 3
      responses:
        200:
          description: List of end customers.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetAllCustomersResponseModel'
              example:
                Customers:
                - CustomerId: 559d49d7-eda8-4029-a72d-4f8a0ba222ef
                  CustomerNumber: 500021
                  Currency: USD
                  CustomerSince: 2026-07-06T09:15:35.0071342Z
                  IsClosed: false
                  Name: Quixotic Quote
                  CustomerType: Resold
                  AddressLine1: 1900 Sample Address Line
                  AddressLine2: ''
                  StateOrProvince: MS
                  Country: US
                  Municipality: FWB
                  PostalCode: 32566
                  Website: http://quixotic-quote.test
                  Industry: Accounting
                  Culture: en-US
                  TimeZone: Central Standard Time
                  ExternalCustomerAccountNumber: 
                  AutoConvertTrials: true
                - CustomerId: 7312f007-7cab-4ae8-97cf-28a986231b60
                  CustomerNumber: 500021
                  Currency: USD
                  CustomerSince: 2026-07-06T09:15:35.0071342Z
                  IsClosed: false
                  Name: Aston Technologies
                  CustomerType: Resold
                  AddressLine1: 1900 St.marks street
                  AddressLine2: ''
                  StateOrProvince: MS
                  Country: US
                  Municipality: Cantonment
                  PostalCode: 32533
                  Website: http://ashtontech.com
                  Industry: Education
                  Culture: en-US
                  TimeZone: Central Standard Time
                  ExternalCustomerAccountNumber: 
                  AutoConvertTrials: true
                Links:
                  NextPageLimit: 84
                  NextPageOffset: 85
                Meta:
                  Page:
                    Total: 427
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=15&offset=0
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=10
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=15&offset=0&includeClosedCustomers=false
  /api/securecloud/customers/{customerId}:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides information about an end customer.
      operationId: SecureCloudCustomers_GetCustomerById
      parameters:
      - name: customerId
        in: path
        required: true
        description: Identifier used to query information about an end customer.
        schema:
          type: string
          nullable: false
        x-position: 1
      responses:
        200:
          description: Information about an end customer.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCustomerResponseModel'
              example:
                CustomerId: 1e0a7a3c-92b7-480d-a48f-a38600f660bf
                CustomerNumber: 500021
                Currency: USD
                CustomerSince: 2026-07-06T09:15:35.0177119Z
                IsClosed: false
                Name: Quixotic Quote
                CustomerType: Resold
                AddressLine1: 1900 Sample Address Line
                AddressLine2: ''
                StateOrProvince: MS
                Country: US
                Municipality: FWB
                PostalCode: 32566
                Website: http://quixotic-quote.test
                Industry: Accounting
                Culture: en-US
                TimeZone: Central Standard Time
                ExternalCustomerAccountNumber: 
                AutoConvertTrials: true
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf
  /api/securecloud/customers/{customerId}/users:
    post:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Creates a new user for an end customer.
      description: "The API returns two distinct status codes based on the outcome of the user creation request:  \n \n*200 OK*: This status code indicates that the user was created successfully, but with a difference in the service configuration compared to the request.  \n \n*201 Created*: This status code is returned when the user was created successfully exactly as requested, without any modifications to the service configuration.  \n \nThese status codes enable the caller to differentiate between user creation with or without configuration changes. \n \n \n\n**Note:** Before calling the [Create User API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/POST-api-securecloud-customers-customerId-users) method, callers typically fetch the list of available domains and services from the [User Services API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-securecloud-customers-customerId-services) method first. This response provides the available services that can be assigned. Once the domains and services are retrieved, the creation of a user can then proceed by assigning appropriate services and domain. "
      operationId: SecureCloudCustomers_CreateCustomerUser
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      requestBody:
        x-name: createCustomerUserRequestModel
        description: Information about the user to be created for the customer.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/CreateCustomerUserRequestModel'
            example:
              FirstName: Richard
              LastName: Illingworth
              PhoneNumber: 1234567890
              EmailAddress: richardillingworth@spkuk.co.in
              Roles:
              - Partner_Administrator
              - Billing
              UserServices:
              - ServiceName: Email Threat Protection
                ServiceConfiguration:
                - Name: SendQuarantinedMessageReports
                  Value:
                  - true
                - Name: SendQuarantinedMessageReportsWhenEmpty
                  Value:
                  - true
              - ServiceName: Exchange
                ServiceConfiguration:
                - Name: MailboxType
                  Value:
                  - Full
                - Name: MailboxLocation
                  Value:
                  - USA
              SendWelcomeEmail: true
        required: true
        x-position: 2
      responses:
        200:
          description: Information about the user that was created.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/CreateCustomerUserResponseModel'
              example:
                UserId: a0c53c8e-dfad-4b66-ab47-582d816d46cf
                Message: Sample message
                UserConfigurations:
                - ServiceName: Email Threat Protection
                  ServiceConfiguration:
                  - Name: SendQuarantinedMessageReports
                    Value:
                    - true
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides a paginated list of all users associated with an end customer.
      operationId: SecureCloudCustomers_GetAllCustomerUsers
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: limit
        in: query
        description: The maximum number of records to return. Valid values are between 10 and 1000.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 2
        example: 10
      - name: offset
        in: query
        description: Specifies the number of records to skip, determining the starting point for displaying results. The record index starts from zero.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 3
        example: 0
      responses:
        200:
          description: List of users associated with an end customer.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetAllCustomerUsersResponseModel'
              example:
                Users:
                - UserId: f7859117-813c-47a5-9287-230cca96767b
                  FirstName: George Fr.
                  LastName: junior
                  PhoneNumber: 1234567890
                  EmailAddress: gfj@etppro.com
                  Roles:
                  - Customer_Administrator
                  - Billing
                  Culture: en-US
                  UserServices:
                  - ServiceName: Email Threat Protection
                - UserId: 915bb64d-587b-4c0d-a5b5-fbdfbfa0d990
                  FirstName: Kevin
                  LastName: Dey
                  PhoneNumber: 1234567890
                  EmailAddress: kevinde@tsp.co.us
                  Roles:
                  - Billing
                  Culture: en-US
                  UserServices:
                  - ServiceName: Email Threat Protection
                  - ServiceName: Office365
                Links:
                  NextPageLimit: 71
                  NextPageOffset: 72
                Meta:
                  Page:
                    Total: 413
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users?limit=15&offset=0
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users?limit=10
  /api/securecloud/customers/{customerId}/users/{userId}:
    patch:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Updates a user for an end customer.
      description: '**Note:** This method supports regular JSON patches (partial object updates) only and does not cover JSON Patch (RFC 6902). '
      operationId: SecureCloudCustomers_UpdateCustomerUser
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: userId
        in: path
        required: true
        description: A unique id by which the user is identified.
        schema:
          type: string
          nullable: false
        x-position: 2
      requestBody:
        x-name: updateCustomerUserRequestModel
        description: Information about the user to be updated for the customer.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/UpdateCustomerUserRequestModel'
            example:
              FirstName: Richard
              LastName: Illingworth
              PhoneNumber: 1234567890
              Roles:
              - Partner_Administrator
              - Billing
        required: true
        x-position: 3
      responses:
        200:
          description: Additional information received while updating the user.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UpdateCustomerUserResponseModel'
              example:
                Message: User was updated
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides information about a user.
      operationId: SecureCloudCustomers_GetCustomerUserById
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: userId
        in: path
        required: true
        description: A unique id by which the user is identified.
        schema:
          type: string
          nullable: false
        x-position: 2
      responses:
        200:
          description: Information about the user.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCustomerUserResponseModel'
              example:
                UserId: 310fc2d9-ec5f-4f5b-88cb-5953002aceda
                FirstName: Nixon
                LastName: Davis
                PhoneNumber: 1234567890
                EmailAddress: nixondavis@upes.com
                Roles:
                - Billing
                Culture: en-US
                UserServices:
                - ServiceName: Email Threat Protection
                  ServiceConfiguration:
                  - Name: SendQuarantinedMessageReports
                    Value:
                    - true
                  - Name: SendQuarantinedMessageReportsWhenEmpty
                    Value:
                    - true
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af
  /api/securecloud/customers/{customerId}/users/{userId}/services:
    patch:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Updates service and service configuration for an end customer's user.
      description: '**Note:** To update user services for a user, callers typically begin by fetching the current service and domain assignments using the [Get User Details API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-securecloud-customers-customerId-users-userId). This response provides the set of services and domains currently assigned to the user. Once retrieved, the caller can modify the configuration as needed by adding, removing, or updating services and then pass the updated data to the [Update User Services API](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/PATCH-api-securecloud-customers-customerId-users-userId-services). '
      operationId: SecureCloudCustomers_UpdateUserServices
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: userId
        in: path
        required: true
        description: A unique id by which the user is identified.
        schema:
          type: string
          nullable: false
        x-position: 2
      requestBody:
        x-name: updateUserServicesRequestModel
        description: Service and service configuration about the user to be updated.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/UpdateUserServicesRequestModel'
            example:
              UserServices:
              - ServiceName: Office365
                RemoveService: false
                ServiceConfiguration:
                - Name: UsageLocation
                  Value:
                  - UnitedSates
                - Name: SelectedLicenses
                  Value:
                  - 80b2d799-d2ba-4d2a-8842-fb0d0f3a4b82
                  - 3b555118-da6a-4418-894f-7df1e2096870
                - Name: IsOffice365Admin
                  Value:
                  - false
              - ServiceName: Backup Administrator
                RemoveService: true
                ServiceConfiguration: 
        required: true
        x-position: 3
      responses:
        200:
          description: Additional information received while updating user services for the user.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UpdateUserServicesResponseModel'
              example:
                Message: User was updated
                UserConfigurations:
                - ServiceName: Office365
                  ServiceConfiguration:
                  - Name: IsOffice365Admin
                    Value:
                    - true
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/users/2e0a7a3c-92b7-480d-a48f-a18600f660af/services
  /api/securecloud/customers/{customerId}/services:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides a list of all customer services.
      operationId: SecureCloudCustomers_GetAllCustomerUserServices
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      responses:
        200:
          description: A list of services available for a customer.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetAllCustomerUserServicesResponseModel'
              example:
                Services:
                - ServiceName: Email Threat Protection
                  ProductName: Advanced Email Threat Protection
                  Domain: spg.com
                  Aliases:
                  - def.spc.com
                  ServiceConfigurationProperties:
                  - Name: SendQuarantinedMessageReports
                    Value:
                    - true
                    - false
                    Type: Boolean
                    Reference: 
                  - Name: SendQuarantinedMessageReportsWhenEmpty
                    Value:
                    - true
                    - false
                    Type: Boolean
                    Reference: 
                - ServiceName: Office365
                  ProductName: Exchange Online Kiosk
                  Domain: spg.com
                  Aliases:
                  - def.spc.com
                  ServiceConfigurationProperties:
                  - Name: SelectedLicenses
                    Value:
                    - Exchange Online Kiosk
                    Type: String[]
                    Reference: 
                  - Name: UsageLocation
                    Value: 
                    Type: string
                    Reference: O365UsageLocations
                  - Name: IsOffice365Admin
                    Value:
                    - true
                    - false
                    Type: Boolean
                    Reference: 
                ConfigurationReferences:
                - ReferenceName: O365UsageLocations
                  ReferenceValues:
                  - United States
                  - United Kingdom
                  - Aruba
                  - Algeria
                  - Brunei
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/services
  /api/securecloud/customers/{customerId}/subscriptions:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides a list of all subscriptions associated with an end customer.
      operationId: SecureCloudCustomers_GetAllSubscriptions
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: includeInactiveSubscriptions
        in: query
        description: "Specifies whether to include inactive subscriptions in the results.  \n  \n Set to true to include subscriptions with the following inactive statuses : Cancelled, Not Installed, Scheduled to Uninstall, and Uninstalling.  \n  \n If set to false or omitted, only subscriptions with the following statuses are returned: Active, Trial, Installing, Suspended, and Suspending."
        schema:
          type: boolean
          default: false
          nullable: false
        x-position: 2
      responses:
        200:
          description: List of subscriptions associated with an end customer.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetAllSubscriptionResponseModel'
              example:
                Subscriptions:
                - SubscriptionKey: 192837-TESDF-1-spg.com
                  ProductName: Cloud Backup
                  Categories:
                  - Recovery
                  Domain: spg.com
                  Aliases:
                  - def.spc.com
                  IsTrial: false
                  SubscriptionTerm: Monthly
                  BillingFrequency: Monthly
                  ExpirationBehavior: AutoRenew
                  SubscriptionStatus: Active
                  StartDate: 2026-06-06T09:15:35.2319417Z
                  ExpirationDate: 2026-08-05T09:15:35.2319417Z
                  CancellationDate: 2026-06-11T09:15:35.2319417Z
                  CancellationGracePeriod: 24
                  ScheduledUninstallDate: 2026-08-06T09:15:35.2319417Z
                  AvailableActions:
                    CanCancel: true
                    CanConfigure: true
                    CanRestore: true
                    CanSuspend: false
                    CanUpgrade: false
                    CanDowngrade: false
                - SubscriptionKey: 838192-TESDF-1-spg.com
                  ProductName: Eastwood Endpoint Protection
                  Categories:
                  - Threat Protection
                  Domain: 
                  Aliases: 
                  IsTrial: true
                  SubscriptionTerm: Monthly
                  BillingFrequency: Monthly
                  ExpirationBehavior: AutoRenew
                  SubscriptionStatus: Active
                  StartDate: 2026-06-06T09:15:35.2319417Z
                  ExpirationDate: 2026-08-05T09:15:35.2319417Z
                  CancellationDate: 2026-06-11T09:15:35.2319417Z
                  CancellationGracePeriod: 10
                  ScheduledUninstallDate: 2026-08-06T09:15:35.2319417Z
                  AvailableActions:
                    CanCancel: true
                    CanConfigure: true
                    CanRestore: true
                    CanSuspend: false
                    CanUpgrade: false
                    CanDowngrade: false
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions?includeInactiveSubscriptions=true
  /api/securecloud/customers/{customerId}/subscriptions/{subscriptionKey}:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides information about a subscription.
      description: '**Note:** The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path. '
      operationId: SecureCloudCustomers_GetSubscriptionDetails
      parameters:
      - name: customerId
        in: path
        required: true
        description: Identifier used to query information about an end customer.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: subscriptionKey
        in: path
        required: true
        description: A unique identifier, either encoded or non-encoded, used to identify a subscription.
        schema:
          type: string
          nullable: false
        x-position: 2
      responses:
        200:
          description: Subscription Details.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSubscriptionDetailResponseModel'
              example:
                SubscriptionKey: 192837-TESDF-1-spg.com
                ProductName: Cloud Backup
                Categories:
                - Recovery
                Domain: spg.com
                Aliases:
                - def.spc.com
                IsTrial: false
                SubscriptionTerm: Monthly
                BillingFrequency: Monthly
                ExpirationBehavior: AutoRenew
                SubscriptionStatus: Active
                StartDate: 2026-06-06T09:15:35.2475646Z
                ExpirationDate: 2026-08-05T09:15:35.2475646Z
                CancellationDate: 2026-06-11T09:15:35.2475646Z
                CancellationGracePeriod: 21
                ScheduledUninstallDate: 2026-08-06T09:15:35.2475646Z
                AvailableActions:
                  CanCancel: true
                  CanConfigure: true
                  CanRestore: true
                  CanSuspend: false
                  CanUpgrade: false
                  CanDowngrade: false
                ConfigurableSubscriptionDetails:
                - Name: SubscriptionQuantity
                  Value: 10
                ReadonlySubscriptionDetails:
                - Name: TotalLicenses
                  Value: 15
                - Name: AssignedLicenses
                  Value: 10
                - Name: UnassignedLicenses
                  Value: 5
                - Name: CanCancelUntilDate
                  Value: 2026-08-05T09:15:35.2470000Z
                - Name: CommitmentEndDate
                  Value: 2026-08-05T09:15:35.2470000Z
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q=
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test
    patch:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Updates subscription details.
      description: "**Note:** This method updates O365 license quantities through regular JSON patches for partial object updates. Note that it does not support JSON Patch operations as defined in RFC 6902.   \n  \n**Requirements:**\n- The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path.\n- Currently limited to O365 license quantity updates only."
      operationId: SecureCloudCustomers_UpdateSubscriptionDetails
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: subscriptionKey
        in: path
        required: true
        description: A unique identifier, either encoded or non-encoded, used to identify a subscription.
        schema:
          type: string
          nullable: false
        x-position: 2
      requestBody:
        x-name: updateSubscriptionRequestModel
        description: Information about the subscription to be updated.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/UpdateSubscriptionRequestModel'
            example:
              ConfigurableSubscriptionDetails:
              - Name: SubscriptionQuantity
                Value: 5
        required: true
        x-position: 3
      responses:
        200:
          description: Information received after updating the license quantity.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UpdateSubscriptionResponseModel'
              example:
                Message: The request has been accepted for processing.
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q=
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test
  /api/securecloud/usage/charges:
    post:
      tags:
      - 'SecureCloud: SecureCloud Usage'
      summary: Gets a list of subscription charges. A subscription charge provides a snapshot of a customer's current charges.
      description: "**Note:** The response from the charges API varies based on the filters, sorting parameters and fields specified in the request body. For more information, refer to the sections on [Filter Operations and Expressions](https://unityapi.webrootcloudav.com/Docs/APIDoc/Guide#guide-filterFormats) used for filtering results.   \n  \n\nWhen using a cursor, body content is not allowed. In such a case, please construct the URI parameters as follows: 'page[limit]={yourlimit}&amp;page[offset]={youroffset}&amp;filter[chargeCode]={yourchargecode}&amp;filter[isTrial]={true or false}&amp;sort={sort field, e.g. ChargeCode}&amp;sort={secondary sort field, e.g. -Currency}'. Following this, the resulting parameter string needs to be encoded (Base64) and then passed to the cursor as a URI parameter."
      operationId: SecureCloudUsage_GetSubscriptionChargeDetails
      parameters:
      - name: limit
        in: query
        description: The maximum number of records to return.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 2
        example: 10
      - name: offset
        in: query
        description: Specifies the number of records to skip, determining the starting point for displaying results.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 3
        example: 0
      - name: cursor
        in: query
        description: Encoded value of the url. *e.g. ZmlsdGVyW2lzQXV0b1JlbmV3XT1lcTondHJ1ZScmc29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xMCZwYWdlW29mZnNldF09MTA*
        schema:
          type: string
          nullable: false
        x-position: 4
        example: ZmlsdGVyW2lzT2ZmaWNlMzY1TmNlXT1lcTonZmFsc2UnJnNvcnQ9cHJpY2UmcGFnZVtsaW1pdF09MTAmcGFnZVtvZmZzZXRdPTEw
      requestBody:
        x-name: subscriptionChargeRequest
        description: Additional information containing filters, sort order and a definition of fields that will be included in the response.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SubscriptionChargesRequestModel'
            example:
              SubscriptionChargesFilterFields:
                Id: 38416-BACKUP-1-1-BASICUSRS-59
                ChargeCode: in:BASICUSRS-59,CRSUSRS-3
                ChargeName: Cloud Charge 1
                ChargeType: Recurring
                ProductName: Cloud Product1
                ProductType: CloudBackup
                BillableItem: BasicUsers
                Price: 10
                TermPrice: 10
                Currency: USD
                Quantity: 0
                Total: 0
                Description: Cloud Charge 1
                SubscriptionStartDate: 2026-07-06T09:15:35.4970000Z
                SubscriptionCanceled: false
                SubscriptionCanceledDate: 2026-07-06T09:15:35.4970000Z
                InitialTerm: 1
                CurrentTerm: 1
                CommitmentTerm: 0
                TermStartDate: 2026-07-06T09:15:35.4970000Z
                TermEndDate: 2026-10-06T09:15:35.4970000Z
                IsTrial: eq:true
                IsAutoRenew: eq:false
                EffectiveDate: 2026-07-21T09:15:35.4970000Z
                EndDate: 
                CustomerName: '[TEST] KPR AppRiver Resold'
                CustomerType: Resold
                ProductId: 8d9ebdee-cfc5-4515-b139-ad170101bd25
                PartnerId: 7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b
                SubscriptionId: 38416-BACKUP-1-1
                CustomerId: d53f91e8-ecb8-4d3b-aec8-ac3601501e0c
                BillToAccountId: 1195c23d-0fe0-435a-ad45-a8eb00d7ed0c
              Sorting:
                Parameters:
                  ChargeCode: Ascending
                  ChargeName: Descending
                  ChargeType: Ascending
                  ProductName: Descending
                  ProductType: Ascending
                  BillableItem: Descending
                  Price: Ascending
                  TermPrice: Descending
                  Currency: Ascending
                  Quantity: Descending
                  Total: Ascending
                  Description: Descending
                  SubscriptionStartDate: Ascending
                  SubscriptionCanceled: Descending
                  SubscriptionCanceledDate: Ascending
                  InitialTerm: Descending
                  CurrentTerm: Ascending
                  CommitmentTerm: Descending
                  TermStartDate: Ascending
                  TermEndDate: Descending
                  IsTrial: Ascending
                  IsAutoRenew: Descending
                  EffectiveDate: Ascending
                  EndDate: Descending
                  CustomerName: Ascending
                  CustomerType: Descending
              Fields:
                FieldParam:
                - ChargeCode
                - CustomerName
                - CustomerType
                - ChargeName
                - IsTrial
                - IsAutoRenew
                - EffectiveDate
                - EndDate
                - ChargeType
                - ProductName
                - ProductType
                - BillableItem
                - Price
                - TermPrice
                - Currency
                - Quantity
                - Total
                - Description
                - SubscriptionStartDate
                - SubscriptionCanceled
                - SubscriptionCanceledDate
                - InitialTerm
                - CurrentTerm
                - CommitmentTerm
                - TermStartDate
                - TermEndDate
        required: true
        x-position: 1
      responses:
        200:
          description: Returns object of subscriptionChargesResponseModel which is the list of subscription charges. A subscription charge is a snapshot of a customer's current charges.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/SubscriptionChargesResponseModel'
              example:
                Data:
                - Type: subscriptionCharges
                  Id: 38416-BACKUP-1-1-BASICUSRS-59
                  Attributes:
                    ChargeCode: in:BASICUSRS-59,CRSUSRS-3
                    ChargeName: Cloud Charge 1
                    ChargeType: Recurring
                    ProductName: Cloud Product1
                    ProductType: CloudBackup
                    BillableItem: BasicUsers
                    Price: 10
                    TermPrice: 10
                    Currency: USD
                    Quantity: 0
                    Total: 0
                    Description: Cloud Charge 1
                    SubscriptionStartDate: 2026-07-06T09:15:35.4975893Z
                    SubscriptionCanceled: false
                    SubscriptionCanceledDate: 2026-07-06T09:15:35.4975893Z
                    InitialTerm: 1
                    CurrentTerm: 1
                    CommitmentTerm: 0
                    TermStartDate: 2026-07-06T09:15:35.4975893Z
                    TermEndDate: 2026-10-06T09:15:35.4975893Z
                    IsTrial: true
                    IsAutoRenew: false
                    EffectiveDate: 2026-07-21T09:15:35.4975893Z
                    EndDate: 
                    CustomerName: '[TEST] KPR AppRiver Resold'
                    CustomerType: Resold
                  Relationships:
                    Product:
                      Data:
                        Type: products
                        Id: 8d9ebdee-cfc5-4515-b139-ad170101bd25
                        Meta: {}
                    Partner:
                      Data:
                        Type: partners
                        Id: 7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b
                        Meta: {}
                    Subscription:
                      Data:
                        Type: subscriptions
                        Id: 38416-BACKUP-1-1
                        Meta: {}
                    Customer:
                      Data:
                        Type: ''
                        Id: d53f91e8-ecb8-4d3b-aec8-ac3601501e0c
                        Meta: {}
                    BillToAccount:
                      Data:
                        Type: billingAccounts
                        Id: 1195c23d-0fe0-435a-ad45-a8eb00d7ed0c
                        Meta: {}
                Links:
                  NextPageLimit: 10
                  NextPageOffset: 10
                Meta:
                  Page:
                    Total: 10
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges?limit=15&offset=0
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges?limit=10
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges?cursor=c29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xJnBhZ2Vbb2Zmc2V0XT0x
  /api/securecloud/usage/charges/events:
    post:
      tags:
      - 'SecureCloud: SecureCloud Usage'
      summary: Gets a list of subscription charge events. A subscription charge event is triggered when a customer subscription is created, renewed, or when the usage or license count for a subscription is adjusted.
      description: "**Note:** The response from the charges API varies based on the filters, sorting parameters and fields specified in the request body. For more information, refer to the sections on [Filter Operations and Expressions](https://unityapi.webrootcloudav.com/Docs/APIDoc/Guide#guide-filterFormats) used for filtering results.   \n  \n\nWhen using a cursor, body content is not allowed. In such a case, please construct the URI parameters as follows: 'page[limit]={yourlimit}&amp;page[offset]={youroffset}&amp;filter[chargeCode]={yourchargecode}&amp;filter[isTrial]={true or false}&amp;sort={sort field, e.g. ChargeCode}&amp;sort={secondary sort field, e.g. -Currency}'. Following this, the resulting parameter string needs to be encoded (Base64) and then passed to the cursor as a URI parameter."
      operationId: SecureCloudUsage_GetSubscriptionChargeEventsDetails
      parameters:
      - name: limit
        in: query
        description: The maximum number of records to return.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 2
        example: 10
      - name: offset
        in: query
        description: Specifies the number of records to skip, determining the starting point for displaying results.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 3
        example: 0
      - name: cursor
        in: query
        description: Encoded value of the url. *e.g. ZmlsdGVyW2lzQXV0b1JlbmV3XT1lcTondHJ1ZScmc29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xMCZwYWdlW29mZnNldF09MTA*
        schema:
          type: string
          nullable: false
        x-position: 4
        example: ZmlsdGVyW2lzT2ZmaWNlMzY1TmNlXT1lcTonZmFsc2UnJnNvcnQ9cHJpY2UmcGFnZVtsaW1pdF09MTAmcGFnZVtvZmZzZXRdPTEw
      requestBody:
        x-name: subscriptionChargeEventsRequest
        description: Additional information containing filters, sort order and a definition of fields that will be included in the response.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SubscriptionChargesEventsRequestModel'
            example:
              SubscriptionChargesEventFilterFields:
                Id: 38416-BACKUP-1-1-BASICUSRS-59
                ChargeCode: in:BASICUSRS-59,CRSUSRS-3
                ChargeName: Cloud Charge 1
                ChargeType: Recurring
                ProductName: Cloud Product1
                ProductType: eq:CloudBackup
                IsOffice365Nce: true
                BillableItem: BasicUsers
                Price: 10
                TermPrice: 10
                Currency: USD
                Quantity: 0
                PreviousQuantity: 0
                Total: 0
                EventType: ne:Renewal
                Description: Cloud Charge 1
                SubscriptionStartDate: 2026-07-06T09:15:35.6850000Z
                SubscriptionCanceled: false
                SubscriptionCanceledDate: 2026-07-06T09:15:35.6850000Z
                InitialTerm: 1
                CurrentTerm: 1
                CommitmentTerm: 0
                TermStartDate: 2026-07-06T09:15:35.6850000Z
                TermEndDate: 2026-10-06T09:15:35.6850000Z
                IsTrial: eq:true
                IsAutoRenew: eq:false
                EffectiveDate: 2026-07-21T09:15:35.6850000Z
                EndDate: 2026-07-06T09:15:35.6850000Z
                SubscriptionProductUpdated: false
                SubscriptionProductUpdatedDate: 2026-07-06T09:15:35.6850000Z
                CustomerName: '[TEST] KPR AppRiver Resold'
                CustomerType: Resold
                ProductId: 8d9ebdee-cfc5-4515-b139-ad170101bd25
                PartnerId: 7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b
                SubscriptionId: 38416-BACKUP-1-1
                CustomerId: d53f91e8-ecb8-4d3b-aec8-ac3601501e0c
                BillToAccountId: 1195c23d-0fe0-435a-ad45-a8eb00d7ed0c
              Sorting:
                Parameters:
                  ChargeCode: Ascending
                  ChargeName: Descending
                  ChargeType: Ascending
                  ProductName: Descending
                  ProductType: Ascending
                  IsOffice365Nce: Descending
                  BillableItem: Ascending
                  Price: Descending
                  TermPrice: Ascending
                  Currency: Descending
                  Quantity: Ascending
                  PreviousQuantity: Descending
                  Total: Ascending
                  EventType: Descending
                  Description: Ascending
                  SubscriptionStartDate: Descending
                  SubscriptionCanceled: Ascending
                  SubscriptionCanceledDate: Descending
                  InitialTerm: Ascending
                  CurrentTerm: Descending
                  CommitmentTerm: Ascending
                  TermStartDate: Descending
                  TermEndDate: Ascending
                  IsTrial: Descending
                  IsAutoRenew: Ascending
                  EffectiveDate: Descending
                  EndDate: Ascending
                  SubscriptionProductUpdated: Descending
                  SubscriptionProductUpdatedDate: Ascending
                  CustomerName: Descending
                  CustomerType: Ascending
              Fields:
                FieldParam:
                - ChargeCode
                - ChargeName
                - ChargeType
                - ProductName
                - ProductType
                - IsOffice365Nce
                - BillableItem
                - Price
                - TermPrice
                - Currency
                - Quantity
                - PreviousQuantity
                - Total
                - EventType
                - Description
                - SubscriptionStartDate
                - SubscriptionCanceled
                - SubscriptionCanceledDate
                - InitialTerm
                - CurrentTerm
                - CommitmentTerm
                - TermStartDate
                - TermEndDate
                - IsTrial
                - IsAutoRenew
                - EffectiveDate
                - EndDate
                - SubscriptionProductUpdated
                - SubscriptionProductUpdatedDate
                - CustomerName
                - CustomerType
        required: true
        x-position: 1
      responses:
        200:
          description: Returns object of subscriptionChargeEventsResponseModel which is list of subscription charge events. A subscription charge event occurs when a customer subscription is created or renewed, or the usage or license count is adjusted for a subscription.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/SubscriptionChargesEventsResponseModel'
              example:
                Data:
                - Type: subscriptionChargeEvents
                  Id: 38416-BACKUP-1-1-BASICUSRS-59
                  Attributes:
                    ChargeCode: in:BASICUSRS-59,CRSUSRS-3
                    ChargeName: Cloud Charge 1
                    ChargeType: Recurring
                    ProductName: Cloud Product1
                    ProductType: eq:CloudBackup
                    IsOffice365Nce: true
                    BillableItem: BasicUsers
                    Price: 10
                    TermPrice: 10
                    Currency: USD
                    Quantity: 0
                    PreviousQuantity: 0
                    Total: 0
                    EventType: ne:Renewal
                    Description: Cloud Charge 1
                    SubscriptionStartDate: 2026-07-06T09:15:35.7007385Z
                    SubscriptionCanceled: false
                    SubscriptionCanceledDate: 2026-07-06T09:15:35.7007385Z
                    InitialTerm: 1
                    CurrentTerm: 1
                    CommitmentTerm: 0
                    TermStartDate: 2026-07-06T09:15:35.7007385Z
                    TermEndDate: 2026-10-06T09:15:35.7007385Z
                    IsTrial: true
                    IsAutoRenew: false
                    EffectiveDate: 2026-07-21T09:15:35.7007385Z
                    EndDate: 
                    SubscriptionProductUpdated: false
                    SubscriptionProductUpdatedDate: 
                    CustomerName: '[TEST] KPR AppRiver Resold'
                    CustomerType: Resold
                  Relationships:
                    Product:
                      Data:
                        Type: products
                        Id: 8d9ebdee-cfc5-4515-b139-ad170101bd25
                        Meta: {}
                    Partner:
                      Data:
                        Type: partners
                        Id: 7b24e2ee-7018-40bd-8aab-a8eb00d7ed8b
                        Meta: {}
                    Subscription:
                      Data:
                        Type: subscriptions
                        Id: 38416-BACKUP-1-1
                        Meta: {}
                    Customer:
                      Data:
                        Type: customers
                        Id: d53f91e8-ecb8-4d3b-aec8-ac3601501e0c
                        Meta:
                          CustomerNumber: 45382
                    BillToAccount:
                      Data:
                        Type: billingAccounts
                        Id: 1195c23d-0fe0-435a-ad45-a8eb00d7ed0c
                        Meta:
                          BillToAccountNumber: C10002-1
                Links:
                  NextPageLimit: 10
                  NextPageOffset: 10
                Meta:
                  Page:
                    Total: 10
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges/events?limit = 15&offset=0
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges/events?limit=10
      - lang: HTTP
        label: URL
        source: api/securecloud/usage/charges/events?cursor=c29ydD1DaGFyZ2VDb2RlJnBhZ2VbbGltaXRdPTEmcGFnZVtvZmZzZXRdPTE=
components:
  schemas:
    AgentStatus:
      type: object
      description: Data model returned by agent status calls
      additionalProperties: false
      properties:
        QueryResults:
          type: array
          description: Endpoint information matching the given query parameters.
          nullable: true
          items:
            $ref: '#/components/schemas/EndpointInfo'
        ContinuationToken:
          type: string
          description: Provides a continuation token for follow-up calls if more data is available than the given batch size.
          nullable: true
        ContinuationURI:
          type: string
          description: Provides a URI for follow-up calls if more data is available than the given batch size.
          nullable: true
        Count:
          type: integer
          description: Contains the number of endpoints returned in the current request.
          format: int32
    EndpointInfo:
      type: object
      description: Class containing all requested information about a single endpoint
      additionalProperties: false
      properties:
        BasicInfo:
          description: Basic Information about an endpoint
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/BasicInfo'
        ExtendedInfo:
          description: Extended Information about an endpoint
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ExtendedInfo'
        TimesAndStats:
          description: Last execution times and stats of an endpoint
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/TimesAndStats'
        Scheduling:
          description: Information about scheduled scans
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Scheduling'
        EnabledFeatures:
          description: Overview of enabled features
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/EnabledFeatures'
        SystemAnalyzer:
          description: System analyzer scores
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SystemAnalyzer'
        OSAndVersions:
          description: Networking/Operating system details and versions
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/OSAndVersions'
        MasterKC:
          type: string
          description: Master keycode of the endpoint
          nullable: true
        KC:
          type: string
          description: Site keycode of the endpoint
          nullable: true
        MachineID:
          type: string
          description: Machine ID of the endpoint
          nullable: true
        LastChanged:
          type: string
          description: Specifies, when the information was last changed
          format: date-time
          nullable: true
        HostName:
          type: string
          description: Host name of the endpoint
          nullable: true
        IPAddress:
          type: string
          description: IP Address of the endpoint
          nullable: true
        ClientVersion:
          type: string
          description: Client version of the endpoint
          nullable: true
        OS:
          type: string
          description: Operating system of the endpoint
          nullable: true
        FirstSeen:
          type: string
          description: Date when endpoint was first seen
          format: date-time
          nullable: true
        LastSeen:
          type: string
          description: Date when endpoint was last seen
          format: date-time
          nullable: true
        TimesSeen:
          type: integer
          description: Number of times the endpoint was seen
          format: int32
        Hidden:
          type: boolean
          description: Visibility of the endpoint. If set to true, the endpoint is hidden
        Deactivated:
          type: boolean
          description: Activation status of the endpoint. If set to true, the endpoint is deactivted
        ActivationStatusTime:
          type: string
          description: Date when activation status was set
          format: date-time
          nullable: true
    BasicInfo:
      type: object
      description: Basic information returned by agent status queries
      additionalProperties: false
      properties:
        StatusRefreshTime:
          type: string
          description: The timestamp of the latest status update, as seen by the local agent
          format: date-time
          nullable: true
        Managed:
          type: boolean
          description: Is the policy managed
        SKU:
          type: string
          description: The type of WSA license key
          nullable: true
        PartnerNumber:
          type: integer
          description: Agent RC/Partner code
          format: int32
        Version:
          type: string
          description: Program/Engine Version
          nullable: true
        ActiveThreats:
          type: integer
          description: Number of active, uncleaned threats
          format: int32
        DeviceType:
          type: string
          description: Type of device
          nullable: true
        AttentionRequired:
          type: boolean
          description: Infected and requires attention
        Infected:
          type: boolean
          description: Is the system infected or not
    ExtendedInfo:
      type: object
      description: Extended information returned by agent status queries
      additionalProperties: false
      properties:
        Uninstalled:
          type: boolean
          description: Uninstalled (sent on last ping to the cloud)
        Language:
          type: string
          description: Product Language
          nullable: true
        IsExpired:
          type: boolean
          description: Is the product currently expired
        DaysRemaining:
          type: integer
          description: Days remaining on license key
          format: int32
        ExpirationDate:
          type: string
          description: Expiration date
          format: date-time
          nullable: true
        RemediationEnabled:
          type: boolean
          description: Remediation is enabled on the device
        ThreatBlocked:
          type: boolean
          description: A file was just blocked in realtime and did not become active
        WasJustInfected:
          type: boolean
          description: Clean now but was previously just infected
        HasBeenInfected:
          type: boolean
          description: Clean - items in quarantine/it was infected at some point before
        LatestThreat:
          type: string
          description: The type of the most recent threat which was seen - a malware group or "Local override"
          nullable: true
        CurrentlyCleaning:
          type: boolean
          description: Infected – clean up in progress
        CleanShutdown:
          type: boolean
          description: Did the agent shut down successfully or not
        ManualAgentShutdown:
          type: boolean
          description: Manual Agent Shutdown initiated
        AgentStartupTime:
          type: string
          description: Agent Startup
          format: date-time
          nullable: true
        SystemState:
          type: integer
          description: System State
          format: int32
        SystemStateUpdated:
          type: string
          description: Last system state change time
          format: date-time
          nullable: true
    TimesAndStats:
      type: object
      description: Last execution times and statuses returned by agent status calls
      additionalProperties: false
      properties:
        LastGarbageRemovalTime:
          type: string
          description: Last system garbage cleanup time
          format: date-time
          nullable: true
        LastGarbageRemovalSize:
          type: integer
          description: Last space recovered from System Cleaner
          format: int32
        TotalGarbageRemovalSize:
          type: integer
          description: Total space recovered by System Cleaner
          format: int32
        LastScan:
          type: string
          description: Last time a system scan was run
          format: date-time
          nullable: true
        LastScanDuration:
          type: integer
          description: Duration of the last scan in seconds
          format: int32
        LastScanCount:
          type: integer
          description: Number of files scanned in the last scan
          format: int32
        ScanCount:
          type: integer
          description: Number of Scans
          format: int32
        ThreatsRemoved:
          type: integer
          description: Number of threats removed
          format: int32
        LastQuickScan:
          type: string
          description: Last quick scan
          format: date-time
          nullable: true
        LastQuickScanDuration:
          type: integer
          description: Last quick scan duration
          format: int32
        LastFullScan:
          type: string
          description: Last full scan
          format: date-time
          nullable: true
        LastFullScanDuration:
          type: integer
          description: Last full scan duration
          format: int32
        LastCustomScan:
          type: string
          description: Last custom scan
          format: date-time
          nullable: true
        LastCustomScanDuration:
          type: integer
          description: Last custom scan duration
          format: int32
        LastDeepScan:
          type: string
          description: Last deep scan
          format: date-time
          nullable: true
        LastDeepScanDuration:
          type: integer
          description: Last deep scan duration
          format: int32
    Scheduling:
      type: object
      description: Settings for scheduled operations returned by agent status calls
      additionalProperties: false
      properties:
        ScheduledScansEnabled:
          type: boolean
          description: Are scheduled scans enabled
        ScheduledScanFrequency:
          type: integer
          description: "The scan frequency as defined by the numbers below \n1. Daily\n2. Sunday\n3. Monday\n4. Tuesday\n5. Wednesday\n6. Thursday\n7. Friday\n8. Saturday"
          format: int32
        ScheduledScanTime:
          type: string
          description: Scheduled scan time
          nullable: true
        ScanWhenIdle:
          type: boolean
          description: Scan when Idle
        ScanOnBootup:
          type: boolean
          description: Scans on Bootup if the computer is off at the scheduled time
        ActiveScans:
          type: integer
          description: The number of actively running scans
          format: int32
    EnabledFeatures:
      type: object
      description: Enabled agent features returned by agent status calls
      additionalProperties: false
      properties:
        ProtectionEnabled:
          type: boolean
          description: Realtime Shield Enabled
        RootkitShieldEnabled:
          type: boolean
          description: Rootkit Shield Enabled
        WebThreatShieldEnabled:
          type: boolean
          description: Web Shield Enabled
        USBShieldEnabled:
          type: boolean
          description: USB Shield Enabled
        OfflineShieldEnabled:
          type: boolean
          description: Offline Shield Enabled
        ScriptShieldStatus:
          type: integer
          description: "Evasion Shield - Script Protection Status. The value, if available, indicates the enabled status and operation mode of script protection functionality. Possible values are: \n- 0 = Disabled\n- 1 = Detect and Remediate\n- 2 = Detect and Report\n\nIf the *ScriptShieldStatus* value is null, the version of the endpoint does not support Evasion Shield script protection functionality."
          format: int32
          nullable: true
        FirewallEnabled:
          type: boolean
          description: Firewall Enabled
        InfraredEnabled:
          type: boolean
          description: Webroot Infrared Enabled
        IDShieldEnabled:
          type: boolean
          description: Identity Shield Enabled
        PhishingShieldEnabled:
          type: boolean
          description: Phishing Shield Enabled
        IsSilent:
          type: boolean
          description: Silent agent
    SystemAnalyzer:
      type: object
      description: System analyzer results returned by agent status calls
      additionalProperties: false
      properties:
        SystemAnalyzerScore:
          type: integer
          description: System Analyzer score
          format: int32
        HardwareScore:
          type: string
          description: Hardware status from SA
          nullable: true
        SoftwareScore:
          type: string
          description: Software status from SA
          nullable: true
        ThreatsScore:
          type: string
          description: Threats status from SA
          nullable: true
    OSAndVersions:
      type: object
      description: Operating system and software versions returned by agent status calls
      additionalProperties: false
      properties:
        OSBuild:
          type: integer
          description: OS build number
          format: int32
        OSPlatform:
          type: integer
          description: Platform (32/64bit)
          format: int32
        OSLanguage:
          type: integer
          description: Language code (1033, 1041, etc.)
          format: int32
        CurrentUser:
          type: string
          description: Active user name
          nullable: true
        NumUsers:
          type: integer
          description: Usernames which are currently logged on
          format: int32
        MaxUsers:
          type: integer
          description: Maximum number of users who have logged on this session
          format: int32
        internalIP:
          type: string
          description: Internal IP
          nullable: true
        MACAddress:
          type: string
          description: Mac address
          nullable: true
        ADSTRING:
          type: string
          description: Active Directory string
          nullable: true
        Workgroup:
          type: string
          description: Workgroup
          nullable: true
        DNSServer:
          type: string
          description: DNS server configured on the system
          nullable: true
        BinType:
          type: string
          description: The BinType of the original WSA installer
          nullable: true
        Email:
          type: string
          description: User's email address
          nullable: true
        OtherAVProduct:
          type: string
          description: Other AV product installed
          nullable: true
        OtherAVProductVersion:
          type: string
          description: Other AV product version
          nullable: true
        IsOtherAVEnabled:
          type: boolean
          description: Is the other AV product enabled
        IsOtherAVUpdated:
          type: boolean
          description: Is the other AV up to date
        PrimaryBrowser:
          type: string
          description: Primary browser
          nullable: true
        PrimaryBrowserVersion:
          type: string
          description: Browser version
          nullable: true
        IsFirewallEnabled:
          type: boolean
          description: Is the Windows firewall enabled
        IsVirtualMachine:
          type: boolean
          description: Is the user on a virtual machine
        IPV4:
          type: string
          description: IPV4 - Identical to InternalIP
          nullable: true
        IPV6:
          type: string
          description: IPV6
          nullable: true
        FQDN:
          type: string
          description: FQDN
          nullable: true
        NTDOMAIN:
          type: string
          description: NTDOMAIN
          nullable: true
        LDAPOID:
          type: string
          description: LDAPOID
          nullable: true
        LDAPDN:
          type: string
          description: LDAPDN
          nullable: true
    DNSPAgentStatus:
      type: object
      description: Provides status information for the DNS Protection software installed on endpoints.
      additionalProperties: false
      properties:
        QueryResults:
          type: array
          description: Endpoint information matching the given query parameters.
          nullable: true
          items:
            $ref: '#/components/schemas/DNSPEndpointInfo'
        ContinuationToken:
          type: string
          description: Provides a continuation token for follow-up calls if more data is available than the given batch size.
          nullable: true
        ContinuationURI:
          type: string
          description: Provides a URI for follow-up calls if more data is available than the given batch size.
          nullable: true
        Count:
          type: integer
          description: Contains the number of DNSP endpoints returned in the current request.
          format: int32
    DNSPEndpointInfo:
      type: object
      description: Provides status information for the DNS Protection software installed on an endpoint
      additionalProperties: false
      properties:
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        IsVirtualMachine:
          type: boolean
          description: Indicates if an endpoint is a VM.
        DNSAgentStatus:
          type: string
          description: "The status of the DNSP agent software installed on the endpoint. \n\nPossible values are: \n- Installed\n- Uninstalled"
          nullable: true
        InstalledDate:
          type: string
          description: The date when the DNSP agent software was installed on the endpoint.
          format: date-time
        UninstalledDate:
          type: string
          description: The date when the DNSP agent software was removed from the endpoint. This value will only be available when the agent software has been uninstalled.
          format: date-time
          nullable: true
        AgentVersion:
          type: string
          description: The DNSP agent software version.
          nullable: true
        LastSeenDate:
          type: string
          description: The date when activity from the DNSP agent was last seen.
          format: date-time
          nullable: true
        LastModifiedDate:
          type: string
          description: The date when the DNSP agent software was modified on the endpoint.
          format: date-time
          nullable: true
        TrafficCountLast24Hours:
          type: integer
          description: The number of DNS requests made by the DNSP agent in the last 24 hours. *Note:* This value is updated about every 15 minutes.
          format: int64
        DNSPolicyID:
          type: string
          description: The identifier of the DNS Protection policy associated with the endpoint.
          nullable: true
        DNSPolicyName:
          type: string
          description: The Name of the DNS Protection policy associated with the endpoint.
          nullable: true
        MachineID:
          type: string
          description: The machine identifier associated with the endpoint.
          nullable: true
        KC:
          type: string
          description: The keycode of the GSM site the endpoint is reporting to.
          nullable: true
        MasterKC:
          type: string
          description: The keycode of the GSM parent console the endpoint is reporting to.
          nullable: true
    KeycodeUsage:
      type: object
      description: Data model returned by keycode usage API calls
      additionalProperties: false
      properties:
        QueryResults:
          type: array
          description: Seat count statistics matching the given query parameters
          nullable: true
          items:
            $ref: '#/components/schemas/UsageInfo'
        ContinuationToken:
          type: string
          description: Provides a continuation token for follow-up calls if more data is available than the given batch size.
          nullable: true
        ContinuationURI:
          type: string
          description: Provides a URI for follow-up calls if more data is available than the given batch size
          nullable: true
        Date:
          type: string
          description: End date up to which usage statistics is collected
          format: date-time
          nullable: true
    UsageInfo:
      type: object
      description: Class containing usage information for a given keycode
      additionalProperties: false
      properties:
        PeriodInfo:
          type: array
          description: Seat count statistics matching the given query parameters
          nullable: true
          items:
            $ref: '#/components/schemas/UsagePeriodInfo'
        KC:
          type: string
          description: Keycode for which usage statistics are returned
          nullable: true
    UsagePeriodInfo:
      type: object
      description: Class containing usage information for a given keycode
      additionalProperties: false
      properties:
        Period:
          type: integer
          description: Length of the period in days
          format: int32
        Seen:
          type: integer
          description: Indicates how often the keycode was seen in this period
          format: int32
    UsageReportGSM:
      type: object
      description: Data model returned by keycode usage report API call (GSM level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_ReportInfo'
        GSM:
          description: Details for a given GSM console.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_GSMEntry'
    UsageReportGSM_ReportInfo:
      type: object
      description: Report details for GSM usage information.
      additionalProperties: false
      properties:
        ReportType:
          type: string
          description: The type of report that was generated.
          nullable: true
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        GSMKey:
          type: string
          description: The GSM key the report is based on.
          nullable: true
    UsageReportGSM_GSMEntry:
      type: object
      description: GSM details in usage reports.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the GSM site ("trial", "full").
          nullable: true
        ExpiryDate:
          type: string
          description: The expiration date for the GSM console license.
          format: date-time
          nullable: true
        TotalSitesWithoutTrial:
          type: integer
          description: The number of sites excluding trial sites.
          format: int32
        TotalTrialSites:
          type: integer
          description: The number of trial sites.
          format: int32
        TotalEndpointsWithoutTrial:
          type: integer
          description: The number of endpoints excluding trial endpoints.
          format: int32
        TotalTrialEndpoints:
          type: integer
          description: The number of trial endpoints.
          format: int32
    UsageReportSites:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase'
      - type: object
        description: Data model returned by keycode usage report API call (multi sites, endpoint model).
        additionalProperties: false
    UsageReportSitesBase:
      type: object
      description: Data model returned by keycode usage report API call (sites level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportSites_ReportInfo'
        Sites:
          type: array
          description: Site/endpoint details for a given GSM site.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportSites_SiteEntry'
    UsageReportSites_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportGSM_ReportInfo'
      - type: object
        description: Report details for site specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of sites returned in the current request.
            format: int32
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
    UsageReportSites_SiteEntry:
      type: object
      description: Site details in usage reports.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site.
          nullable: true
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the site ("trial", "full").
          nullable: true
        ExpiryDate:
          type: string
          description: The expiration date for the site license.
          format: date-time
          nullable: true
        SiteState:
          type: string
          description: The state of the site ("active", "deactivated", "suspended", "expired").
          nullable: true
        SiteStateChangedDate:
          type: string
          description: The date when the site state has changed the last time.
          format: date-time
          nullable: true
        TotalEndpoints:
          type: integer
          description: The number of endpoints.
          format: int32
    UsageReportSite:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase'
      - type: object
        description: Data model returned by keycode usage report API call (single sites, endpoint model).
        additionalProperties: false
    UsageReportEndpoints:
      type: object
      description: >-
        Data model returned by keycode usage report API call (endpoints level).


        **Note:** The *OS* response field for endpoints is provided in reports for June 20th, 2019 and later. Earlier reports do not include the operating system information and return null for this field.
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportEndpoints_ReportInfo'
        Endpoints:
          type: array
          description: A list of endpoints.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportEndpoints_EndpointEntry'
    UsageReportEndpoints_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportGSM_ReportInfo'
      - type: object
        description: Report details for endpoint specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of endpoints returned in the current request.
            format: int32
          ContinuationToken:
            type: string
            description: The continuation token that needs to be used for the next batch of records.
            nullable: true
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
    UsageReportEndpoints_EndpointEntry:
      type: object
      description: Endpoint details in usage reports.
      additionalProperties: false
      properties:
        MachineId:
          type: string
          description: The machine identifier.
          nullable: true
        SiteId:
          type: string
          description: The site identifier this endpoint belongs to.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site this endpoint belongs to.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        FriendlyHostName:
          type: string
          description: The friendly name of this endpoint, if (and only if) it has been renamed to a more recognizeable name in the GSM console.
          nullable: true
        LastSeen:
          type: string
          description: The date this endpoint was last seen.
          format: date-time
          nullable: true
        DeviceType:
          type: string
          description: The type of the respective device.
          nullable: true
        OS:
          type: string
          description: The operating system of the respective device.
          nullable: true
        IsHidden:
          type: boolean
          description: A flag indicating whether this endpoint is marked as "hidden".
        IsDeactivated:
          type: boolean
          description: A flag indicating whether this endpoint has been deactivated.
        IsTrial:
          type: boolean
          description: A flag indicating whether this endpoint belongs to a trial site.
        ActivationStatusTime:
          type: string
          description: The date when the activation state has changed for the last time.
          format: date-time
          nullable: true
    UsageReportGSM_DNSP:
      type: object
      description: Data model returned by keycode usage report API call (GSM level, DNSP Module).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_ReportInfo'
        GSM:
          description: Details for a given GSM console.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_DNSP_GSMEntry'
    UsageReportGSM_DNSP_GSMEntry:
      type: object
      description: GSM details in usage reports.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        GSMLicenseType:
          type: string
          description: The license type of the GSM console ("trial", "full").
          nullable: true
        GSMExpiryDate:
          type: string
          description: The expiration date for the GSM console license.
          format: date-time
          nullable: true
        DNSPEnabled:
          type: boolean
          description: A flag indicating whether DNSP is enabled for this GSM console.
        DNSPLicenseType:
          type: string
          description: The license type of the DNSP module ("trial", "full").
          nullable: true
        DNSPExpiryDate:
          type: string
          description: The expiration date for the DNSP module.
          format: date-time
          nullable: true
        TotalSitesWithoutDNSP:
          type: integer
          description: The number of sites, excluding sites that have DNSP enabled.
          format: int32
        TotalSitesWithDNSPFull:
          type: integer
          description: The number of sites with a full DNSP license.
          format: int32
        TotalSitesWithDNSPTrial:
          type: integer
          description: The number of sites with a trial DNSP license.
          format: int32
        TotalDNSPDevicesProxyFull:
          type: integer
          description: This value is derived from the number of corresponding WSA endpoints for DNSP enabled sites and does not provide actual DNSP agents or requests generated by Agentless devices (full DNSP licenses only).
          format: int32
        TotalDNSPDevicesProxyTrial:
          type: integer
          description: This value is derived from the number of corresponding WSA endpoints for DNSP enabled sites and does not provide actual DNSP agents or requests generated by Agentless devices (trial DNSP licenses only).
          format: int32
        TotalDNSPDevicesActualFull:
          type: integer
          description: This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequestsFull divided by an average user request across all DNS usage (full DNSP licenses only).
          format: int32
        TotalDNSPDevicesActualTrial:
          type: integer
          description: This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequestsTrial divided by an average user request across all DNS usage (trial DNSP licenses only).
          format: int32
        TotalDNSPAgentlessRequestsFull:
          type: integer
          description: This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site (full DNSP licenses only).
          format: int64
        TotalDNSPAgentlessRequestsTrial:
          type: integer
          description: This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site (trial DNSP licenses only).
          format: int64
        TotalDNSPAgentsFull:
          type: integer
          description: This value is derived by calculating actual DNSP agents on each site (full DNSP licenses only).
          format: int32
        TotalDNSPAgentsTrial:
          type: integer
          description: This value is derived by calculating actual DNSP agents on each site (trial DNSP licenses only).
          format: int32
    UsageReportSites_DNSP:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_DNSP'
      - type: object
        description: Data model returned by keycode usage report API call (multi sites, DNSP model).
        additionalProperties: false
    UsageReportSitesBase_DNSP:
      type: object
      description: Data model returned by keycode usage report API call (sites level, DNSP model).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportSites_ReportInfo'
        Sites:
          type: array
          description: Site/endpoint details for a given GSM site.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportSites_DNSP_SiteEntry'
    UsageReportSites_DNSP_SiteEntry:
      type: object
      description: Site details in usage reports.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site.
          nullable: true
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        SiteLicenseType:
          type: string
          description: The license type of the site ("trial", "full").
          nullable: true
        SiteExpiryDate:
          type: string
          description: The expiration date for the site license.
          format: date-time
          nullable: true
        SiteState:
          type: string
          description: The state of the site ("active", "deactivated", "suspended", "expired").
          nullable: true
        SiteStateChangedDate:
          type: string
          description: The date when the site state has changed the last time.
          format: date-time
          nullable: true
        DNSPEnabled:
          type: boolean
          description: A flag indicating whether DNSP is enabled for this site.
        DNSPLicenseType:
          type: string
          description: The license type of the DNSP module ("trial", "full").
          nullable: true
        DNSPExpiryDate:
          type: string
          description: The expiration date for the DNSP module.
          format: date-time
          nullable: true
        TotalDNSPDevicesProxy:
          type: integer
          description: This value is derived from the number of corresponding WSA endpoints for a given DNSP enabled site and does not provide actual DNSP agents or requests generated by Agentless devices.
          format: int32
        TotalDNSPDevicesActual:
          type: integer
          description: This value is derived from actual DNSP agents plus TotalDNSPAgentlessRequests divided by an average user request across all DNS usage.
          format: int32
        TotalDNSPAgentlessRequests:
          type: integer
          description: This value is derived by DNS IP requests generated via gateways from endpoints that do NOT have the DNSP agent installed for each site.
          format: int64
        TotalDNSPAgents:
          type: integer
          description: This value is derived by calculating actual DNSP agents on each site.
          format: int32
    UsageReportSite_DNSP:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_DNSP'
      - type: object
        description: Data model returned by keycode usage report API call (single sites, DNSP model).
        additionalProperties: false
    UsageReportGSM_WSAT:
      type: object
      description: Data model returned by keycode usage report API call (GSM level, WSAT Module).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_ReportInfo'
        GSM:
          description: Details for a given GSM console.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportGSM_WSAT_GSMEntry'
    UsageReportGSM_WSAT_GSMEntry:
      type: object
      description: GSM details in usage reports.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        GSMLicenseType:
          type: string
          description: The license type of the GSM console ("trial", "full").
          nullable: true
        GSMExpiryDate:
          type: string
          description: The expiration date for the GSM console license.
          format: date-time
          nullable: true
        WSATEnabled:
          type: boolean
          description: A flag indicating whether WSAT is enabled for this GSM console.
        WSATLicenseType:
          type: string
          description: The license type of the WSAT module ("trial", "full").
          nullable: true
        WSATExpiryDate:
          type: string
          description: The expiration date for the WSAT module.
          format: date-time
          nullable: true
        TotalSitesWithoutWSAT:
          type: integer
          description: The number of sites, excluding sites that have WSAT enabled.
          format: int32
        TotalSitesWithWSATFull:
          type: integer
          description: The number of sites with a full WSAT license.
          format: int32
        TotalSitesWithWSATTrial:
          type: integer
          description: The number of sites with a trial WSAT license.
          format: int32
        TotalWSATFullUsers:
          type: integer
          description: The total count of users with a full WSAT license.
          format: int32
        TotalWSATTrialUsers:
          type: integer
          description: The total count of users with a trial WSAT license.
          format: int32
    UsageReportSites_WSAT:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_WSAT'
      - type: object
        description: Data model returned by keycode usage report API call (multi sites, WSAT model).
        additionalProperties: false
    UsageReportSitesBase_WSAT:
      type: object
      description: Data model returned by keycode usage report API call (sites level, WSAT model).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportSites_ReportInfo'
        Sites:
          type: array
          description: Site/endpoint details for a given GSM site.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportSites_WSAT_SiteEntry'
    UsageReportSites_WSAT_SiteEntry:
      type: object
      description: Site details in usage reports.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site.
          nullable: true
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        SiteLicenseType:
          type: string
          description: The license type of the site ("trial", "full").
          nullable: true
        SiteExpiryDate:
          type: string
          description: The expiration date for the site license.
          format: date-time
          nullable: true
        SiteState:
          type: string
          description: The state of the site ("active", "deactivated", "suspended", "expired").
          nullable: true
        SiteStateChangedDate:
          type: string
          description: The date when the site state has changed the last time.
          format: date-time
          nullable: true
        WSATEnabled:
          type: boolean
          description: A flag indicating whether WSAT is enabled for this site.
        WSATLicenseType:
          type: string
          description: The license type of the WSAT module ("trial", "full").
          nullable: true
        WSATExpiryDate:
          type: string
          description: The expiration date for the WSAT module.
          format: date-time
          nullable: true
        TotalWSATUsers:
          type: integer
          description: The total count of WSAT users in the site.
          format: int32
    UsageReportSite_WSAT:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_WSAT'
      - type: object
        description: Data model returned by keycode usage report API call (single sites, WSAT model).
        additionalProperties: false
    UsageReportPillr_Partner:
      type: object
      description: Data model returned by the Pillr partner keycode usage report API call (partner level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_GeneralInfo'
        Products:
          type: array
          description: Product details for a given partner key.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_ProductEntry'
    UsageReportPillr_ReportInfo:
      type: object
      description: Report details for Pillr usage information.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        PartnerKey:
          type: string
          description: The partner key the report is based on.
          nullable: true
    UsageReportPillr_GeneralInfo:
      type: object
      description: General details for Pillr partner usage information.
      additionalProperties: false
      properties:
        PartnerName:
          type: string
          description: The partner name the report is based on.
          nullable: true
        PartnerId:
          type: string
          description: The partner id the report is based on.
          nullable: true
        PartnerLicenseType:
          type: string
          description: The license type of the partner.
          nullable: true
    UsageReportPillr_ProductEntry:
      type: object
      description: Pillr product details in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The Pillr product name.
          nullable: true
        Licenses:
          type: array
          description: License details of the Pillr product.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_LicenseEntry'
    UsageReportPillr_LicenseEntry:
      type: object
      description: License details for Pillr products.
      additionalProperties: false
      properties:
        Status:
          type: string
          description: 'The status of the license (for example: "Active", "Trial", "NFR").'
          nullable: true
        HighWatermarkEndpoints:
          type: integer
          description: The high watermark endpoints in the specified report period.
          format: int32
        HighWatermarkGigabytes:
          type: number
          description: The high watermark gigabytes in the specified report period.
          format: double
    UsageReportPillr_Partner_Customers:
      type: object
      description: Data model returned by the Pillr partner keycode usage report API call (multi customers).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_GeneralInfo'
        Customers:
          type: array
          description: Details about the returned products for all the customers for partner key in the report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReport_Customer_Pillr'
    UsageReport_Customer_Pillr:
      type: object
      description: Data model returned by the Pillr partner keycode usage report API call (single customer).
      additionalProperties: false
      properties:
        CustomerName:
          type: string
          description: Name of the customer.
          nullable: true
        CustomerId:
          type: string
          description: The Customer id the report is based on.
          nullable: true
        CustomerLicenseType:
          type: string
          description: The license type of the customer.
          nullable: true
        CustomerKey:
          type: string
          description: Customer Key code.
          nullable: true
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_ProductEntry_Customer'
    UsageReportPillr_ProductEntry_Customer:
      type: object
      description: Pillr product details provided for customer key code in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The Pillr product name.
          nullable: true
        Licenses:
          type: array
          description: License details of the Pillr product.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_LicenseEntry_Customer'
    UsageReportPillr_LicenseEntry_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportPillr_LicenseEntry'
      - type: object
        description: License information for Pillr products at the customer level.
        additionalProperties: false
        properties:
          SubscriptionId:
            type: integer
            description: Subscription id of the license.
            format: int64
          CreatedDate:
            type: string
            description: License created date.
            format: date-time
            nullable: true
          StartDate:
            type: string
            description: License start date.
            format: date-time
            nullable: true
          EndDate:
            type: string
            description: License end date.
            format: date-time
            nullable: true
    UsageReportPillr_Customer:
      type: object
      description: Data model returned by the Pillr partner keycode usage report API call (single customer).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_ReportInfo_Customer'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_GeneralInfo_Customer'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_ProductEntry_Customer'
    UsageReportPillr_ReportInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportPillr_ReportInfo'
      - type: object
        description: Report details for customer specific usage information.
        additionalProperties: false
        properties:
          CustomerKey:
            type: string
            description: The Customer key the report is based on.
            nullable: true
    UsageReportPillr_GeneralInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportPillr_GeneralInfo'
      - type: object
        description: General details for customer specific usage information.
        additionalProperties: false
        properties:
          CustomerName:
            type: string
            description: The Customer name the report is based on.
            nullable: true
          CustomerId:
            type: string
            description: The Customer id the report is based on.
            nullable: true
          CustomerLicenseType:
            type: string
            description: The license type of the customer.
            nullable: true
    UsageReportPillr_Endpoint:
      type: object
      description: Data model returned by Pillr partner keycode usage report API call (endpoints level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_ReportInfo_Endpoint'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportPillr_GeneralInfo_Customer'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_ProductEntry_Endpoint'
    UsageReportPillr_ReportInfo_Endpoint:
      allOf:
      - $ref: '#/components/schemas/UsageReportPillr_ReportInfo_Customer'
      - type: object
        description: Report details for endpoint specific usage information.
        additionalProperties: false
        properties:
          ContinuationToken:
            type: string
            description: The continuation token that needs to be used for the next batch of records.
            nullable: true
    UsageReportPillr_ProductEntry_Endpoint:
      type: object
      description: Pillr product endpoint details provided for partner and customer key code in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The Pillr product name.
          nullable: true
        Endpoints:
          type: array
          description: Endpoint details of the Pillr product.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportPillr_EndpointEntry'
    UsageReportPillr_EndpointEntry:
      type: object
      description: Endpoint details for Pillr products.
      additionalProperties: false
      properties:
        AgentId:
          type: string
          description: The agent id of the endpoint.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        MacAddress:
          type: string
          description: The MAC address of the endpoint (not applicable to "Pillr Platform Mobile").
          nullable: true
        HostIP:
          type: string
          description: The IP address of the endpoint.
          nullable: true
        MobileNumber:
          type: string
          description: The obfuscated mobile number of the device (applicable to "Pillr Platform Mobile" only).
          nullable: true
        Heartbeat:
          type: string
          description: The most recent date the endpoint was active.
          nullable: true
    UsageReportDetectionAndResponse_GSM:
      type: object
      description: Data model returned by "Detection and Response" related usage report API methods (GSM level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo'
        Products:
          type: array
          description: Product details for a given GSM key.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_ProductEntry'
    UsageReportDetectionAndResponse_ReportInfo:
      type: object
      description: Usage report details for "Detection and Response" related products.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        GSMKey:
          type: string
          description: The GSM key the report is based on.
          nullable: true
    UsageReportDetectionAndResponse_GeneralInfo:
      type: object
      description: General details for "Detection and Response" related products.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The GSM console name the report is based on.
          nullable: true
        GSMConsoleLicenseType:
          type: string
          description: The license type of the GSM.
          nullable: true
    UsageReportDetectionAndResponse_ProductEntry:
      type: object
      description: Product details for "Detection and Response" products.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The product name.
          nullable: true
        Licenses:
          type: array
          description: License details for "Detection and Response" products.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry'
    UsageReportDetectionAndResponse_LicenseEntry:
      type: object
      description: License details for "Detection and Response" products.
      additionalProperties: false
      properties:
        Status:
          type: string
          description: 'The status of the license (for example: "Full", "Trial").'
          nullable: true
        HighWatermarkEndpoints:
          type: integer
          description: The high watermark endpoints in the specified report period.
          format: int32
        HighWatermarkGigabytes:
          type: number
          description: The high watermark gigabytes in the specified report period.
          format: double
    UsageReportDetectionAndResponse_Sites:
      type: object
      description: Data model returned by "Detection and Response" related usage report API methods (multi sites).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo'
        Sites:
          type: array
          description: Site details for a given GSM key.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_SiteData'
    UsageReportDetectionAndResponse_SiteData:
      type: object
      description: Data model returned by "Detection and Response" related usage report API methods (single site).
      additionalProperties: false
      properties:
        SiteName:
          type: string
          description: Name of the site.
          nullable: true
        SiteLicenseType:
          type: string
          description: The license type of the site.
          nullable: true
        SiteKey:
          type: string
          description: Site keycode.
          nullable: true
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Site'
    UsageReportDetectionAndResponse_ProductEntry_Site:
      type: object
      description: '"Detection and Response" products details provided for site key code in the usage report.'
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: '"Detection and Response" product name.'
          nullable: true
        License:
          description: License details for "Detection and Response" product.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry_Site'
    UsageReportDetectionAndResponse_LicenseEntry_Site:
      allOf:
      - $ref: '#/components/schemas/UsageReportDetectionAndResponse_LicenseEntry'
      - type: object
        description: License information for "Detection and Response" products at the site level.
        additionalProperties: false
        properties:
          CreatedDate:
            type: string
            description: License created date.
            format: date-time
            nullable: true
          StartDate:
            type: string
            description: License start date.
            format: date-time
            nullable: true
          EndDate:
            type: string
            description: License end date.
            format: date-time
            nullable: true
    UsageReportDetectionAndResponse_Site:
      type: object
      description: Data model returned by "Detection and Response" related usage report API methods (single site).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Site'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo_Site'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Site'
    UsageReportDetectionAndResponse_ReportInfo_Site:
      allOf:
      - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo'
      - type: object
        description: Usage report details specific to the site for "Detection and Response" related products.
        additionalProperties: false
        properties:
          SiteKey:
            type: string
            description: The site key the report is based on.
            nullable: true
    UsageReportDetectionAndResponse_GeneralInfo_Site:
      allOf:
      - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo'
      - type: object
        description: Usage general details specific to the site for "Detection and Response" related products.
        additionalProperties: false
        properties:
          SiteName:
            type: string
            description: The site name the report is based on.
            nullable: true
          SiteLicenseType:
            type: string
            description: The license type of the Site.
            nullable: true
    UsageReportDetectionAndResponse_Endpoint:
      type: object
      description: Data model returned by "Detection and Response" related usage report API methods (endpoints level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Endpoint'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportDetectionAndResponse_GeneralInfo_Site'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_ProductEntry_Endpoint'
    UsageReportDetectionAndResponse_ReportInfo_Endpoint:
      allOf:
      - $ref: '#/components/schemas/UsageReportDetectionAndResponse_ReportInfo_Site'
      - type: object
        description: Report details for endpoint specific usage information.
        additionalProperties: false
        properties:
          ContinuationToken:
            type: string
            description: The continuation token that needs to be used for the next batch of records.
            nullable: true
    UsageReportDetectionAndResponse_ProductEntry_Endpoint:
      type: object
      description: Product details for "Detection and Response" provided for GSM key code and site key code in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: '"Detection and Response" product name.'
          nullable: true
        Endpoints:
          type: array
          description: Endpoint details for "Detection and Response" products.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportDetectionAndResponse_EndpointEntry'
    UsageReportDetectionAndResponse_EndpointEntry:
      type: object
      description: Endpoint details for "Detection and Response" products.
      additionalProperties: false
      properties:
        AgentId:
          type: string
          description: The agent id of the endpoint.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        MacAddress:
          type: string
          description: The MAC address of the endpoint (not applicable to "Detection and Response Mobile").
          nullable: true
        HostIP:
          type: string
          description: The IP address of the endpoint.
          nullable: true
        MobileNumber:
          type: string
          description: The obfuscated mobile number of the device (applicable to "Detection and Response Mobile" only).
          nullable: true
        Heartbeat:
          type: string
          description: The most recent date the endpoint was active.
          nullable: true
    UsageReportCRSB_GSM:
      type: object
      description: Data model returned by keycode OTSB usage report API call (GSM level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned OTSB usage report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
        GSM:
          description: Details for a given GSM console.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_GSMEntry'
    UsageReportCRSB_ReportInfo:
      type: object
      description: Report details for GSM usage information.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        GSMKey:
          type: string
          description: The GSM key the report is based on.
          nullable: true
        ReportType:
          type: string
          description: The type of report being requested.
          nullable: true
    UsageReportCRSB_GSMEntry:
      type: object
      description: Details for a given GSM Console.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        Products:
          type: array
          description: List of products with their usage details.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_ProductEntry'
    UsageReportCRSB_ProductEntry:
      type: object
      description: Details for a product within a GSM Console.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The name of the product (e.g., "BYOC", "OTHC").
          nullable: true
        LicenseType:
          type: string
          description: The license type of the product ("trial", "full").
          nullable: true
        ExpiryDate:
          type: string
          description: The expiration date for the product license.
          format: date-time
          nullable: true
        BYOCUsage:
          type: array
          description: List of BYOC usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_BYOC_UsageEntry'
        OTHCUsage:
          type: array
          description: List of OTHC usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_OTHC_UsageEntry'
    UsageReportCRSB_BYOC_UsageEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_UsageEntryBase'
      - type: object
        description: Usage entry for BYOC product with endpoint specific fields.
        additionalProperties: false
        properties:
          Endpoints:
            type: integer
            description: Total number of endpoints reported for this usage entry.
            format: int32
            nullable: true
          TotalFullEndpoints:
            type: integer
            description: The number of full licensed endpoints included in this usage entry.
            format: int32
            nullable: true
          TotalTrialEndpoints:
            type: integer
            description: The number of trial licensed endpoints included in this usage entry.
            format: int32
            nullable: true
    UsageReportCRSB_UsageEntryBase:
      type: object
      description: Represents the base class for a usage entry in the OTSB Usage Report.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Usage report type.
          nullable: true
    UsageReportCRSB_OTHC_UsageEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_UsageEntryBase'
      - type: object
        description: Usage entry for OTHC product with storage and backup unit fields.
        additionalProperties: false
        properties:
          TotalStorageUsedStandard:
            type: number
            description: Total standard retention storage used (in GB).
            format: double
            nullable: true
          TotalFullStorageUsedStandard:
            type: number
            description: Total full standard retention storage used (in GB).
            format: double
            nullable: true
          TotalTrialStorageUsedStandard:
            type: number
            description: Total trial standard retention storage used (in GB).
            format: double
            nullable: true
          TotalStorageUsedCustom:
            type: number
            description: Total custom retention storage used (in GB).
            format: double
            nullable: true
          TotalFullStorageUsedCustom:
            type: number
            description: Total full custom retention storage used (in GB).
            format: double
            nullable: true
          TotalTrialStorageUsedCustom:
            type: number
            description: Total trial custom retention storage used (in GB).
            format: double
            nullable: true
          BackupUnitsStandard:
            type: number
            description: Calculated average number of standard retention backup units.
            format: double
            nullable: true
          FullBackupUnitsStandard:
            type: number
            description: Calculated average number of full standard retention backup units.
            format: double
            nullable: true
          TrialBackupUnitsStandard:
            type: number
            description: Calculated average number of trial standard retention backup units.
            format: double
            nullable: true
          BackupUnitsCustom:
            type: number
            description: Calculated average number of custom retention backup units.
            format: double
            nullable: true
          FullBackupUnitsCustom:
            type: number
            description: Calculated average number of full custom retention backup units.
            format: double
            nullable: true
          TrialBackupUnitsCustom:
            type: number
            description: Calculated average number of trial custom retention backup units.
            format: double
            nullable: true
          BackupUnits:
            type: integer
            description: Total backup units calculated by adding *BackupUnitsStandard* and *BackupUnitsCustom*, then rounding up.
            format: int32
            nullable: true
          TotalFullBackupUnits:
            type: integer
            description: Total backup units calculated by adding *FullBackupUnitsStandard* and *FullBackupUnitsCustom*, then rounding up.
            format: int32
            nullable: true
          TotalTrialBackupUnits:
            type: integer
            description: Total backup units calculated by adding *TrialBackupUnitsStandard* and *TrialBackupUnitsCustom*, then rounding up.
            format: int32
            nullable: true
    UsageReportCRSB_Sites:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_CRSB'
      - type: object
        description: Data model returned by OTSB usage report API methods (multi sites).
        additionalProperties: false
    UsageReportSitesBase_CRSB:
      type: object
      description: Data model returned by "OTSB" related usage report API methods (site level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_Site_ReportInfo'
        Sites:
          type: array
          description: Site details for the given GSM/site keycode.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_SiteEntry'
    UsageReportCRSB_Site_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
      - type: object
        description: Report details for site specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of sites returned in the current request.
            format: int32
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
    UsageReportCRSB_SiteEntry:
      type: object
      description: Site details in OTSB usage reports.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site.
          nullable: true
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        SiteStatus:
          type: string
          description: The status of the site ("trial", "full").
          nullable: true
        LicenseType:
          type: string
          description: The license type of the site ("trial", "full").
          nullable: true
        BackupType:
          type: string
          description: Backup type of the site.
          nullable: true
        Products:
          type: array
          description: List of products with their usage details.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_ProductEntry'
    UsageReportCRSB_Site:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_CRSB'
      - type: object
        description: Data model returned by "OTSB" usage report API methods (single site).
        additionalProperties: false
    UsageReportGSMEndpoints_CRSB:
      allOf:
      - $ref: '#/components/schemas/UsageReportEndpointsBase_CRSB'
      - type: object
        description: Data model returned by OTSB usage report API call (endpoints level).
        additionalProperties: false
    UsageReportEndpointsBase_CRSB:
      type: object
      description: Data model returned by OTSB usage report API call (endpoints level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportEndpoints_CRSB_ReportInfo'
        Endpoints:
          type: array
          description: Endpoint details for the given GSM/site keycode.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportEndpoints_CRSB_EndpointEntry'
    UsageReportEndpoints_CRSB_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
      - type: object
        description: Report details for endpoint specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of endpoints returned in the current request.
            format: int32
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
          ContinuationToken:
            type: string
            description: The continuation token that needs to be used for the next batch of records.
            nullable: true
    UsageReportEndpoints_CRSB_EndpointEntry:
      type: object
      description: Endpoint details in OTSB usage reports.
      additionalProperties: false
      properties:
        BackupDeviceId:
          type: string
          description: Backup device id of the endpoint.
          nullable: true
        SiteId:
          type: string
          description: The site identifier this endpoint belongs to.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site this endpoint belongs to.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        DeviceType:
          type: string
          description: The type of the respective device.
          nullable: true
        ActivationStatus:
          type: string
          description: The status of the endpoint.
          nullable: true
        ActivationStatusTime:
          type: string
          description: The date when the activation state has changed for the last time.
          format: date-time
          nullable: true
        FirstSeen:
          type: string
          description: The date this endpoint was first seen.
          format: date-time
          nullable: true
        LastSeen:
          type: string
          description: The date this endpoint was last seen.
          format: date-time
          nullable: true
        LastBackup:
          type: string
          description: The date when the last backup was performed.
          format: date-time
          nullable: true
        SubscriptionType:
          type: string
          description: Subscription type of the endpoint.
          nullable: true
        Products:
          type: array
          description: List of products with their usage details.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_Endpoint_ProductEntry'
    UsageReportCRSB_Endpoint_ProductEntry:
      type: object
      description: Product entry for endpoints containing product specific usage data.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The name of the product (e.g., "BYOC", "OTHC").
          nullable: true
        LicenseType:
          type: string
          description: The license type of the product ("trial", "full").
          nullable: true
        BYOCUsage:
          type: array
          description: List of BYOC endpoint usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_BYOC_Endpoint_UsageEntry'
        OTHCUsage:
          type: array
          description: List of OTHC endpoint usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_OTHC_Endpoint_UsageEntry'
    UsageReportCRSB_BYOC_Endpoint_UsageEntry:
      type: object
      description: BYOC specific endpoint usage entry with simplified daily usage.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Usage report type.
          nullable: true
        UsageByDate:
          type: array
          description: Per day breakdown of usage for BYOC endpoint.
          nullable: true
          items:
            $ref: '#/components/schemas/BYOCEndpointUsageHistory'
    BYOCEndpointUsageHistory:
      type: object
      description: Daily usage details for BYOC endpoints (without storage fields).
      additionalProperties: false
      properties:
        UsageDate:
          type: string
          description: Specific date for which the usage was reported.
          format: date-time
          nullable: true
        LicenseType:
          type: string
          description: License type for this usage entry ("trial", "full").
          nullable: true
    UsageReportCRSB_OTHC_Endpoint_UsageEntry:
      type: object
      description: OTHC specific endpoint usage entry with storage metrics.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Usage report type.
          nullable: true
        TotalStorageUsedStandard:
          type: number
          description: Total standard retention storage used (in GB).
          format: double
          nullable: true
        TotalStorageUsedCustom:
          type: number
          description: Total custom retention storage used (in GB).
          format: double
          nullable: true
        TotalFullStorageUsedStandard:
          type: number
          description: Total full standard retention storage used (in GB).
          format: double
          nullable: true
        TotalFullStorageUsedCustom:
          type: number
          description: Total full custom retention storage used (in GB).
          format: double
          nullable: true
        TotalTrialStorageUsedStandard:
          type: number
          description: Total trial standard retention storage used (in GB).
          format: double
          nullable: true
        TotalTrialStorageUsedCustom:
          type: number
          description: Total trial custom retention storage used (in GB).
          format: double
          nullable: true
        UsageByDate:
          type: array
          description: Per day breakdown of storage usage for OTHC endpoint.
          nullable: true
          items:
            $ref: '#/components/schemas/OTHCEndpointUsageHistory'
    OTHCEndpointUsageHistory:
      type: object
      description: Daily usage details for OTHC endpoints (with storage fields).
      additionalProperties: false
      properties:
        UsageDate:
          type: string
          description: Specific date for which the usage was reported.
          format: date-time
          nullable: true
        StandardStorage:
          type: number
          description: Total amount of data (in GB) protected on the endpoint using the standard retention period.
          format: double
          nullable: true
        CustomStorage:
          type: number
          description: Total amount of data (in GB) protected on the endpoint using the custom retention period.
          format: double
          nullable: true
        LicenseType:
          type: string
          description: License type for this usage entry ("trial", "full").
          nullable: true
    UsageReportSiteEndpoints_CRSB:
      allOf:
      - $ref: '#/components/schemas/UsageReportEndpointsBase_CRSB'
      - type: object
        description: Data model returned by OTSB usage report API call (endpoints level).
        additionalProperties: false
    UsageReportCloudally_Partner:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (partner level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_General'
        Products:
          type: array
          description: Product details for a given partner key.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
    UsageReportCloudally_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ReportInfoBase'
      - type: object
        description: Report details for Cloudally usage information.
        additionalProperties: false
    UsageReportCloudally_ReportInfoBase:
      type: object
      description: Report details for Cloudally usage information.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        PartnerKey:
          type: string
          description: The partner key the report is based on.
          nullable: true
        ReportType:
          type: string
          description: The type of report being requested.
          nullable: true
    UsageReportCloudally_General:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details about the returned report.
        additionalProperties: false
    UsageReportCloudally_GeneralInfoBase:
      type: object
      description: General details for Cloudally partner usage information.
      additionalProperties: false
      properties:
        PartnerName:
          type: string
          description: The partner name the report is based on. This field is currently not populated and may return null or an empty string in the current implementation.
          nullable: true
        PartnerId:
          type: string
          description: The partner id the report is based on.
          nullable: true
        PartnerLicenseType:
          type: string
          description: The license type of the partner.
          nullable: true
        PartnerExpiryDate:
          type: string
          description: The expiry date of the partner.
          format: date-time
          nullable: true
    UsageReportCloudally_ProductEntry:
      type: object
      description: Cloudally product details in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The Cloudally product name.
          nullable: true
        HighWatermarkEndpoints:
          type: integer
          description: The high watermark endpoints in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        HighWatermarkGigabytes:
          type: number
          description: The high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
        HighWatermarkDate:
          type: string
          description: The high watermark date in the specified report period.
          format: date-time
          nullable: true
    UsageReportCloudally_Customers:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (multi customer).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo'
        Customers:
          type: array
          description: Details about the returned products for all the customers for partner key in the report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_CustomerEntry'
    UsageReportCloudally_GeneralInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details for partner specific usage information.
        additionalProperties: false
    UsageReportCloudally_CustomerEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo_CustomerBase'
      - type: object
        description: General details for customer specific usage information.
        additionalProperties: false
        properties:
          CustomerKey:
            type: string
            description: The Customer key the report is based on.
            nullable: true
    UsageReportCloudally_GeneralInfo_CustomerBase:
      type: object
      description: General details for Cloudally customer specific usage information.
      additionalProperties: false
      properties:
        CustomerName:
          type: string
          description: The Customer name the report is based on.
          nullable: true
        CustomerId:
          type: string
          description: The Customer id the report is based on.
          nullable: true
        CustomerLicenseType:
          type: string
          description: The license type of the customer.
          nullable: true
        CustomerExpiryDate:
          type: string
          description: The expiry date of the customer license.
          format: date-time
          nullable: true
        Products:
          type: array
          description: Product details of the Cloudally product.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
    UsageReportCloudally_Customer:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (single customer).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo_Customer'
        General:
          description: General customer details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo_Customer'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductBreakdownEntry'
    UsageReportCloudally_ReportInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ReportInfoBase'
      - type: object
        description: Details about the returned report.
        additionalProperties: false
        properties:
          CustomerKey:
            type: string
            description: The Customer key the report is based on.
            nullable: true
    UsageReportCloudally_GeneralInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details about the returned report.
        additionalProperties: false
        properties:
          CustomerName:
            type: string
            description: The Customer name the report is based on.
            nullable: true
          CustomerId:
            type: string
            description: The Customer id the report is based on.
            nullable: true
          CustomerLicenseType:
            type: string
            description: The license type of the customer.
            nullable: true
          CustomerExpiryDate:
            type: string
            description: The expiry date of the customer license.
            format: date-time
            nullable: true
    UsageReportCloudally_ProductBreakdownEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
      - type: object
        description: Cloudally product details with breakdown in the usage report.
        additionalProperties: false
        properties:
          Breakdown:
            type: array
            description: Breakdown details of the Cloudally product.
            nullable: true
            items:
              $ref: '#/components/schemas/UsageReportCloudally_BreakdownEntry'
    UsageReportCloudally_BreakdownEntry:
      type: object
      description: Breakdown details for Cloudally products.
      additionalProperties: false
      properties:
        BreakdownType:
          type: string
          description: The type of the breakdown.
          nullable: true
        BackedUpEntities:
          type: integer
          description: The backed up high watermark entities in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        BackedUpStorage:
          type: number
          description: The backed up high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
        BillableEntities:
          type: integer
          description: The billable high watermark entities in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        BillableStorage:
          type: number
          description: The billable high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
    GSMSuperAdminRequestModel:
      type: object
      description: >-
        Specifies information required to initiate the process for adding an existing console user as an API-only super admin to a GSM console.


        **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.


            The 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.


            The user must be an existing admin of the GSM console for which access is requested.
          minLength: 1
    GSMSuperAdminStatusResponseModel:
      type: object
      description: Provides status information about a process flow for adding an existing console user as an API-only super admin to a GSM console.
      additionalProperties: false
      properties:
        Status:
          type: string
          description: "The current status of the request process. The status can be either one of the following texts: \n- \"Initiated\": The access request has been successfully initiated and the confirmation message was sent out to the target e-mail address.\n- \"EmailFailed\": The confirmation message could not be sent to the target e-mail address.\n- \"PendingApproval\": The access request is pending approval.\n- \"Approved\": The access request has been approved by the GSM console owner.\n- \"RequestComplete\": The access request process is complete and the user has been added to the GSM console as an API-only super admin.\n- \"RequestDenied\": The access request process is complete, but the access request has been denied by the GSM console owner.\n- \"RequestExpired\": The access request process is complete, but the lifetime of the confirmation message has passed by without the GSM console owner acting on the request."
          nullable: true
        InitiatedDate:
          type: string
          description: The date and time when the access request process was initiated.
          format: date-time
        StatusChangeDate:
          type: string
          description: The date and time when the status of the access request process was last changed.
          format: date-time
    GetGSMDetailsResponseModel:
      type: object
      description: Provides information about the GSM key.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        CreatedDate:
          type: string
          description: The date when the GSM key has been created.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: The date when the GSM key expires.
          format: date-time
          nullable: true
        RemainingDays:
          type: integer
          description: The number of days until the GSM key expires.
          format: int32
        LicenseType:
          type: string
          description: 'The license type of the GSM key: Full or Trial.'
          nullable: true
        TotalSeatsAllowed:
          type: integer
          description: The total number of Parent Keycode Site Seats/devices purchased.
          format: int32
        TotalSites:
          type: integer
          description: The total number of sites.
          format: int32
        DeactivatedSites:
          type: integer
          description: The number of deactivated sites.
          format: int32
        CompanyEmail:
          type: string
          description: The company's email address.
          nullable: true
        CompanyPhone:
          type: string
          description: The company's phone number.
          nullable: true
        CompanyAddress:
          type: string
          description: The company's address.
          nullable: true
        Modules:
          type: array
          description: The list of modules associated with the GSM key.
          nullable: true
          items:
            $ref: '#/components/schemas/GetGSMDetailsResponseModel_Module'
    GetGSMDetailsResponseModel_Module:
      type: object
      description: Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, OSBPB, OSBPH, OTMDRC).
      additionalProperties: false
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          nullable: true
        Seats:
          type: integer
          description: The total number of seats allowed on the module.
          format: int32
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          nullable: true
        EndDate:
          type: string
          description: The expiry date of the module.
          format: date-time
          nullable: true
        ProvisioningStatus:
          description: The provisioning status information for the module.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ModuleProvisioningStatus'
    ModuleProvisioningStatus:
      type: object
      description: Represents provisioning status information for a module in the response. Contains only status for API response. ErrorMessage is excluded from serialization.
      additionalProperties: false
      properties:
        Status:
          type: string
          description: Gets or sets the provisioning status (e.g., Success, Error, Pending, Initiated, DeProvisionPending, DeProvisioned).
          nullable: true
    GetGSMSitesResponseModel:
      type: object
      description: Provides information about the list of sites associated with a given GSM console.
      additionalProperties: false
      properties:
        TotalSeatsAllowed:
          type: integer
          description: The total number of Parent Keycode Site Seats/devices purchased.
          format: int32
        ParentDescription:
          type: string
          description: Indicates if parent key is a "Full" or "Trial" license.
          nullable: true
        SumTotalDevices:
          type: integer
          description: The total number of Active Devices installed on the GSM sites.
          format: int32
        SumTotalDevicesAllowed:
          type: integer
          description: The total number of Site Seats allocated to all GSM sites.
          format: int32
        SumTotalDevicesNotTrial:
          type: integer
          description: The total number of Site Seats allocated to all GSM sites which are not trial sites.
          format: int32
        SumTotalMobileDevicesAllowed:
          type: integer
          description: The total number of mobile Site Seats allocated to the GSM sites.
          format: int32
        TotalCount:
          type: integer
          description: The total number of sites under the GSM.
          format: int32
        Sites:
          type: array
          description: List of site details records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetGSMSitesResponseModel_Site'
    GetGSMSitesResponseModel_Site:
      type: object
      description: Provides information about a given GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        SiteType:
          type: string
          description: The console type. The value "R" indicates a GSM site.
          nullable: true
        TotalEndpoints:
          type: integer
          description: Total number of endpoints that are installed on the site.
          format: int32
        PCsInfected24:
          type: integer
          description: Number of endpoints infected in the last 24 hours on the site.
          format: int32
        AccountKeyCode:
          type: string
          description: The keycode of the site.
          nullable: true
        DevicesAllowed:
          type: integer
          description: Number of Site Seats for the keycode.
          format: int32
        MobileSeats:
          type: integer
          description: Number of mobile Site Seats for the keycode.
          format: int32
        Deactivated:
          type: boolean
          description: Value (true/false) indicating whether the site is deactivated.
        Suspended:
          type: boolean
          description: Value (true/false) indicating whether the site is suspended.
        EndDate:
          type: string
          description: Date when the keycode expires.
          format: date-time
          nullable: true
        Device:
          type: boolean
          description: Value (true/false) indicating whether one or more endpoints have been installed with the site's keycode.
        Infect:
          type: boolean
          description: Value (true/false) indicating whether one or more endpoints were infected in the last 24 hours on the site.
        BillingCycle:
          type: string
          description: The site's billing cycle (Annually, Quarterly, Monthly, Weekly).
          nullable: true
        BillingDate:
          type: string
          description: The site's billing date.
          nullable: true
        CompanyComments:
          type: string
          description: The comments that was given on creation of the site.
          nullable: true
        DeactivatedBy:
          type: string
          description: The e-mail address of the user who deactivated a site, if a site has been deactivated.
          nullable: true
        SuspendedBy:
          type: string
          description: The e-mail address of the user who suspended a site, if a site has been suspended.
          nullable: true
        CreatedBy:
          type: string
          description: The e-mail address of the user who created the site.
          nullable: true
        GlobalPolicies:
          type: boolean
          description: Value (true/false) indicating whether the site has global policies enabled.
        GlobalOverrides:
          type: boolean
          description: Value (true/false) indicating whether the site has global overrides enabled.
        GlobalAlerts:
          type: boolean
          description: >-
            Value indicating whether the site has global alerts enabled.


            Can 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.


            This field is only set when querying information for a single site. Otherwise the value is null.
          nullable: true
        AccessLevel:
          type: integer
          description: Indicates if the user has view only or admin permission on the site. Valid values are 128 for admin access, 1 for view only access, 0 for no access.
          format: int32
        Modules:
          type: array
          description: The list of modules associated with the site.
          nullable: true
          items:
            $ref: '#/components/schemas/GetGSMSitesResponseModel_Module'
    GetGSMSitesResponseModel_Module:
      type: object
      description: Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, OSBPB, OSBPH, OTMDRC).
      additionalProperties: false
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          nullable: true
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          nullable: true
        EndDate:
          type: string
          description: The expiry date of the module.
          format: date-time
          nullable: true
        ProvisioningStatus:
          description: The provisioning status information for the module.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ModuleProvisioningStatus'
    GetGSMStatisticsEndpointProtectionResponseModel:
      type: object
      description: Provides statistics information about a GSM console
      additionalProperties: false
      properties:
        TotalDevicesInstalled:
          type: integer
          description: Number of devices with endpoint protection installed.
          format: int32
        TotalDevicesInfected:
          type: integer
          description: Number of infected devices.
          format: int32
        RequiringAttention:
          type: integer
          description: Number of infected devices which require attention.
          format: int32
        WithActiveThreats:
          type: integer
          description: Number of active, uncleaned threats.
          format: int32
        ParentSeats:
          type: integer
          description: Number of parent seats reserved for this console.
          format: int32
        TotalDevicesAllowed:
          type: integer
          description: Number of devices allowed.
          format: int32
        DeactivatedSites:
          type: integer
          description: Number of sites that have been deactivated.
          format: int32
        SuspendedSites:
          type: integer
          description: Number of sites that have been suspended.
          format: int32
        TrialSites:
          type: integer
          description: Number of sites with trial licenses.
          format: int32
        FullSites:
          type: integer
          description: Number of sites with full licenses.
          format: int32
        ExpiredSites:
          type: integer
          description: Number of sites that have expired.
          format: int32
        ExpiringSites:
          type: integer
          description: Number of sites that are about to expire.
          format: int32
        ActivatedSites:
          type: integer
          description: Number of sites that are not deactivated.
          format: int32
        TotalSites:
          type: integer
          description: Total number of sites available in the queried entity (GSM or site).
          format: int32
    GetSiteStatisticsEndpointProtectionResponseModel:
      type: object
      description: Provides statistics information about a GSM site.
      additionalProperties: false
      properties:
        TotalDevicesInstalled:
          type: integer
          description: Number of devices with endpoint protection installed.
          format: int32
        TotalDevicesInfected:
          type: integer
          description: Number of infected devices.
          format: int32
        RequiringAttention:
          type: integer
          description: Number of infected devices which require attention.
          format: int32
        WithActiveThreats:
          type: integer
          description: Number of active, uncleaned threats.
          format: int32
        ParentSeats:
          type: integer
          description: Number of parent seats reserved for this console.
          format: int32
        TotalDevicesAllowed:
          type: integer
          description: Number of devices allowed.
          format: int32
    GetGSMStatisticsDNSPResponseModel:
      type: object
      description: Provides DNSP statistics information about a GSM console.
      additionalProperties: false
      properties:
        TotalDevicesActive:
          type: integer
          description: Number of active DNSP agents in this GSM console.
          format: int32
        TotalDevicesInactive:
          type: integer
          description: Number of inactive DNSP agents in this GSM console.
          format: int32
    GetSiteStatisticsDNSPResponseModel:
      type: object
      description: Provides DNSP statistics information about a GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the GSM site that was queried.
          nullable: true
        SiteName:
          type: string
          description: The name of the GSM site that was queried.
          nullable: true
        DevicesActive:
          type: integer
          description: Number of active DNSP agents in this GSM site.
          format: int32
        DevicesInactive:
          type: integer
          description: Number of inactive DNSP agents in this GSM site.
          format: int32
    GetGSMStatisticsWSATResponseModel:
      type: object
      description: Provides WSAT statistics information about a GSM console.
      additionalProperties: false
      properties:
        TotalPhishingCampaigns:
          type: integer
          description: Number of phishing campaigns in this GSM console.
          format: int32
        TotalTrainingCampaigns:
          type: integer
          description: Number of training campaigns in this GSM console.
          format: int32
    GetSiteStatisticsWSATResponseModel:
      type: object
      description: Provides WSAT statistics information about a GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the GSM site that was queried.
          nullable: true
        SiteName:
          type: string
          description: The name of the GSM site that was queried.
          nullable: true
        PhishingCampaigns:
          type: integer
          description: Number of phishing campaigns in this GSM site.
          format: int32
        TrainingCampaigns:
          type: integer
          description: Number of training campaigns in this GSM site.
          format: int32
    GetGSMStatisticsCRSBResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetStatisticsCRSBBaseResponseModel'
      - type: object
        description: Provides CRSB statistics information about a GSM console.
        additionalProperties: false
    GetStatisticsCRSBBaseResponseModel:
      type: object
      description: Provides CRSB statistics information about a GSM console.
      additionalProperties: false
      properties:
        Pending:
          type: integer
          description: Number of endpoints in 'Pending' state.
          format: int32
          nullable: true
        Protected:
          type: integer
          description: Number of endpoints in 'Protected' state.
          format: int32
          nullable: true
        PartiallyProtected:
          type: integer
          description: Number of endpoints in 'Partially Protected' state.
          format: int32
          nullable: true
        NeedsAttention:
          type: integer
          description: Number of endpoints in 'NeedsAttention' state.
          format: int32
          nullable: true
        ScheduledForDeletion:
          type: integer
          description: Number of endpoints in 'ScheduledForDeletion' state.
          format: int32
          nullable: true
        Expired:
          type: integer
          description: Number of endpoints in 'Expired' state.
          format: int32
          nullable: true
    GetSiteStatisticsCRSBResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetStatisticsCRSBBaseResponseModel'
      - type: object
        description: Provides CRSB statistics information about a GSM site.
        additionalProperties: false
        properties:
          SiteId:
            type: string
            description: The identifier of the GSM site that was queried.
            nullable: true
          SiteName:
            type: string
            description: The name of the GSM site that was queried.
            nullable: true
    GetGSMSSOTokenResponseModel:
      type: object
      description: Provides information about the single sign-on token for navigating to the GSM Console.
      additionalProperties: false
      properties:
        GSMKeyCode:
          type: string
          description: The keycode for the GSM Console the single sign-on URL is valid for.
          nullable: true
        UserName:
          type: string
          description: The name of the authenticated user that will be logged in to the console when using the single sign-on URL.
          nullable: true
        WebConsoleURL:
          type: string
          description: Direct URL to the GSM console.
          nullable: true
    GetGSMSiteSSOTokenResponseModel:
      type: object
      description: Provides information about the single sign-on URL for navigating to the Endpoint Protection Console.
      additionalProperties: false
      properties:
        GSMKeyCode:
          type: string
          description: The GSM parent keycode.
          nullable: true
        SiteId:
          type: string
          description: The site identifier of the GSM site the single sign-on URL is valid for.
          nullable: true
        AccountKeyCode:
          type: string
          description: The keycode of the GSM site the single sign-on URL is valid for.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        UserName:
          type: string
          description: The name of the authenticated user that will be logged in to the console when using the single sign-on URL.
          nullable: true
        WebConsoleURL:
          type: string
          description: Direct URL to the Endpoint Protection Console.
          nullable: true
    CreateGSMSiteResponseModel:
      type: object
      description: Provides key information about the newly created site.
      additionalProperties: false
      properties:
        KeyCode:
          type: string
          description: The keycode for the created site.
          nullable: true
        SiteId:
          type: string
          description: The identifier for the created site.
          nullable: true
        PCAccess:
          type: integer
          description: The PC Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.
          format: int32
        MSAccess:
          type: integer
          description: The Mobile Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.
          format: int32
    CreateGSMSiteRequestModel:
      type: object
      description: Specifies information for creating the new site under a GSM console.
      additionalProperties: false
      required:
      - SiteName
      - Seats
      - Comments
      - Emails
      properties:
        SiteName:
          type: string
          description: The name of the site.
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for the site.
          format: int32
        Comments:
          type: string
          description: The description for the site. Maximum of 1000 characters is allowed.
          minLength: 1
        BillingCycle:
          type: string
          description: Value specifying the billing cycle. Valid values are "Annually", "Quarterly", "Monthly", or "Weekly". Default value is "Annually".
          nullable: true
        BillingDate:
          type: string
          description: "Value indicating the billing date based on the specified billing cycle. \n- For \"Annually\" specify the desired month and day of the year in the format \"MMM d\" (e.g. \"Aug 14\")\n- For \"Quarterly\" specify the desired month of the quarter and the day in the format \"MMM d\" (e.g. \"Jan 01\"). Pass \"Jan\", \"Feb\", or \"Mar\" for the first, second, or third month in the quarter, and 1 to 28 for the desired day of the month. For example \"Feb 15\" indicates that the billing occurs on the 15th day in every second month of a quarter.\n- For \"Monthly\" just specify the desired day of the month (days 1 to 28 are allowed only)\n- For \"Weekly\" just specify the desired day of the week (from 1 for Monday to 7 for Sunday)\n\nDefault value is \"Jan 01\"."
          nullable: true
        GlobalPolicies:
          type: boolean
          description: Value (true/false) indicating if global policies are enabled for the site. Default value is false.
        GlobalOverrides:
          type: boolean
          description: Value (true/false) indicating if global overrides are enabled for the site. Default value is false.
        PolicyId:
          type: string
          description: The identifier of the policy for the new site. If not specified, the policy "Recommended Defaults" is assigned to the site.
          nullable: true
        Emails:
          type: string
          description: Comma-separated list of e-mail addresses for report distribution. Maximum of 10 email addresses is allowed.
          minLength: 1
        Trial:
          type: boolean
          description: Value (true/false) indicating if the type of the created keycode for the site should be a 30 day trial license. Default value is false.
        Modules:
          type: array
          description: The list of license modules to be associated with the site.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateGSMSiteRequestModel_Module'
    CreateGSMSiteRequestModel_Module:
      type: object
      description: Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, OSBPB, OSBPH, OTMDRC).
      additionalProperties: false
      required:
      - Type
      - LicenseType
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          minLength: 1
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          minLength: 1
        Enable:
          type: boolean
          description: >-
            Specifies whether the module should be enabled (true) or disabled (false). Defaults to true if no value is provided.


            Optional
    EditGSMSiteRequestModel:
      type: object
      description: Specifies information about which information should be modified for the site.
      additionalProperties: false
      properties:
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        Seats:
          type: integer
          description: The number of seats for the site.
          format: int32
          nullable: true
        Comments:
          type: string
          description: The description for the site. Maximum of 1000 characters is allowed.
          nullable: true
        BillingCycle:
          type: string
          description: Value specifying the billing cycle. Valid values are "Annually", "Quarterly", "Monthly", or "Weekly".
          nullable: true
        BillingDate:
          type: string
          description: "Value indicating the billing date based on the specified billing cycle. \n- For \"Annually\" specify the desired month and day of the year in the format \"MMM d\" (e.g. \"Aug 14\")\n- For \"Quarterly\" specify the desired month of the quarter and the day in the format \"MMM d\" (e.g. \"Jan 01\"). Pass \"Jan\", \"Feb\", or \"Mar\" for the first, second, or third month in the quarter, and 1 to 28 for the desired day of the month. For example \"Feb 15\" indicates that the billing occurs on the 15th day in every second month of a quarter.\n- For \"Monthly\" just specify the desired day of the month (days 1 to 28 are allowed only)\n- For \"Weekly\" just specify the desired day of the week (from 1 for Monday to 7 for Sunday)"
          nullable: true
        GlobalPolicies:
          type: boolean
          description: Value (true/false) indicating if global policies are enabled for the site.
        GlobalOverrides:
          type: boolean
          description: Value (true/false) indicating if global overrides are enabled for the site.
        PolicyId:
          type: string
          description: The policy identifier.
          nullable: true
        Emails:
          type: string
          description: Comma-separated list of e-mail addresses for report distribution. Maximum of 10 email addresses is allowed.
          nullable: true
        Modules:
          type: array
          description: The list of license modules to be changed for the site.
          nullable: true
          items:
            $ref: '#/components/schemas/EditGSMSiteRequestModel_Module'
    EditGSMSiteRequestModel_Module:
      type: object
      description: Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, OSBPB, OSBPH, OTMDRC).
      additionalProperties: false
      required:
      - Type
      - LicenseType
      - Enable
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          minLength: 1
        LicenseType:
          type: string
          description: >-
            The type of the license: Full or Trial.


            Please 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.


        Values 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.


        Values 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.


            The date is updated when e.g. the endpoint is assigned to a different group or policy, or when the endpoint is deactivated or reactivated. The ModifiedDate field can for example be used to identify when an endpoint has been deactivated because once an endpoint is deactivated, i.e. the value of the Deactivated field is true, the only subsequent state change allowed is reactivating the endpoint.
          format: date-time
          nullable: true
        IsolationStatus:
          type: string
          description: >-
            Indicates the isolation status of the endpoint.


            Supported values are ISOLATED, UNISOLATED, PENDING\_UNISOLATION, PENDING\_ISOLATION.
          nullable: true
        ActiveModules:
          type: array
          description: Lists the active modules on the endpoint.
          nullable: true
          items:
            type: string
    SetGroupEndpointsRequestModel:
      type: object
      description: >-
        Specifies information for setting a new group for a list of endpoints, for a group of endpoints, or for all endpoints on the site.


        Either use *EndpointsList* or *SourceGroupId* to specify the endpoints being moved. If both are specified, *EndpointsList* is used. If both are left empty, all endpoints on the site are moved to the group specified by *TargetGroupId*.
      additionalProperties: false
      required:
      - TargetGroupId
      properties:
        EndpointsList:
          type: string
          description: Comma delimited string of endpoint ids. The endpoints are moved to the group specified by *TargetGroupId*.
          nullable: true
        SourceGroupId:
          type: string
          description: The id of the group where endpoints are moved from.
          nullable: true
        TargetGroupId:
          type: string
          description: The id of the group where endpoints are moved to.
          minLength: 1
        Inheritance:
          type: integer
          description: "Value defining which policy should take effect. \n- 0 = The policy assignment of moved endpoints does not change. Endpoints which previously inherited their policies from the group's endpoint policy setting will inherit from the target group's endpoint policy setting.\n- 1 = The target group's policy will be applied to all moved endpoints.\n- 3 = No longer supported.\n\nDefault value is 0. \n\n\n\n**Note:** Inheritance value 3 is no longer supported and behaves as if 0 was specified. If you used value 3 before, it is recommended to switch to value 0 instead."
          format: int32
    SetPolicyEndpointsRequestModel:
      type: object
      description: Specifies information for setting a new policy for a list of endpoints or for all endpoints on the site.
      additionalProperties: false
      required:
      - PolicyId
      properties:
        EndpointsList:
          type: string
          description: Comma delimited string of endpoint identifiers. If not specified, the policy is set for all endpoints on the site.
          nullable: true
        PolicyId:
          type: string
          description: The identifier of the policy that should be applied.
          minLength: 1
    SetPolicyGroupEndpointsRequestModel:
      type: object
      description: Specifies information for setting a new policy for a group of endpoints.
      additionalProperties: false
      required:
      - PolicyId
      properties:
        PolicyId:
          type: string
          description: The identifier of the policy that should be applied.
          minLength: 1
    SetCommandReOrDeactivateRequestModel:
      type: object
      description: Specifies information for either reactivating or deactivating a list of endpoints, or all endpoints on a site.
      additionalProperties: false
      properties:
        EndpointsList:
          type: string
          description: Comma delimited string of endpoint ids. If not specified, the command gets applied to all endpoints on the site.
          nullable: true
    GetCommandsResponseModel:
      type: object
      description: Provides information about a list of executed commands.
      additionalProperties: false
      properties:
        TotalAvailable:
          type: integer
          description: The total number of commands in the past 6 months. Use this value to determine if you need to retrieve additional pages of data.
          format: int32
          nullable: true
        PageNr:
          type: integer
          description: The number of the page that was requested.
          format: int32
          nullable: true
        PageSize:
          type: integer
          description: The size of the page that was requested.
          format: int32
          nullable: true
        Commands:
          type: array
          description: List of command records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetCommandsResponseModel_Command'
    GetCommandsResponseModel_Command:
      type: object
      description: Provides details about executed commands.
      additionalProperties: false
      properties:
        DateRequested:
          type: string
          description: The date the command was requested.
          format: date-time
          nullable: true
        EndpointId:
          type: string
          description: The endpoint identifier.
          nullable: true
        HostName:
          type: string
          description: The endpoints hostname.
          nullable: true
        StartDate:
          type: string
          description: Earliest date the command can be run.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: Latest date the command can be run.
          format: date-time
          nullable: true
        Command:
          type: string
          description: The type of command ("scan", "cleanup", "uninstall", "changekeycode", "restart", "sysisolate").
          nullable: true
        Parameters:
          type: string
          description: "The parameters associated with the command, if any. \ne.g. **changekeycode** and **sysisolate** commands have *Parameters* value specified - for changekeycode the value will be the changed keycode, for sysisolate the value will be either \"on\" (for isolating) or \"off\" (for unisolating)."
          nullable: true
        CommandState:
          type: integer
          description: "The state of the command. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
          format: int32
    SetCommandRequestModel:
      type: object
      description: Specifies information for issuing a new command to a list of endpoints, or to all endpoints on a site.
      additionalProperties: false
      required:
      - Command
      properties:
        EndpointsList:
          type: string
          description: Comma delimited string of endpoint ids. If not specified, the command gets applied to all endpoints on the site.
          nullable: true
        Command:
          type: string
          description: The type of the command. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "deactivate", "reactivate", "sysisolate".
          minLength: 1
        Parameters:
          type: string
          description: "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating)."
          nullable: true
    SetCommandGroupRequestModel:
      type: object
      description: Specifies information for issuing a new command to a group of endpoints.
      additionalProperties: false
      required:
      - Command
      properties:
        Command:
          type: string
          description: The type of the command. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "deactivate", "reactivate", "sysisolate".
          minLength: 1
        Parameters:
          type: string
          description: "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating)."
          nullable: true
    GetThreatHistoryResponseModel:
      type: object
      description: Provides threat history information.
      additionalProperties: false
      properties:
        MoreAvailable:
          type: boolean
          description: Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional threat history records.
          nullable: true
        PageNr:
          type: integer
          description: The number of the page that was requested.
          format: int32
          nullable: true
        PageSize:
          type: integer
          description: The size of the page that was requested.
          format: int32
          nullable: true
        StartDate:
          type: string
          description: Start date for returned records. Threat history entries after (or at) this date are contained in the response.
          format: date-time
        EndDate:
          type: string
          description: End date for returned records. Threat history entries before (or at) this date are contained in the response.
          format: date-time
        ThreatRecords:
          type: array
          description: List of threat history records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetThreatHistoryResponseModel_Record'
    GetThreatHistoryResponseModel_Record:
      type: object
      description: Provides details about a threat incidence.
      additionalProperties: false
      properties:
        EndpointId:
          type: string
          description: The endpoint identifier on which the threat was detected.
          nullable: true
        MachineId:
          type: string
          description: Machine ID of the endpoint on which the threat was detected.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint on which the threat was detected.
          nullable: true
        FileName:
          type: string
          description: The filename of the detected threat.
          nullable: true
        PathName:
          type: string
          description: >-
            The path to the directory where the file was found.


            If 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.


        Either 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.


            If 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.


            If 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.


        Please 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.


            Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.
          nullable: true
          items:
            type: integer
            format: int32
        BlockReasonId:
          type: integer
          description: >-
            The identifier of the reason why the domain was blocked.


            Call ['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.


        Please 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.


            Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers.
          nullable: true
          items:
            type: integer
            format: int32
        ActionTaken:
          type: integer
          description: >-
            The identifier of the action that was taken on the DNS request.


            Call ['get block reasons'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-blockreasons) to get a list of available actions and block reasons, including their respective identifiers.
          format: int32
          nullable: true
    GetDNSPTrafficSummaryResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficSummaryResponseModelBase'
      - type: object
        description: Provides information about DNS Protection traffic counts.
        additionalProperties: false
    GetDNSPTrafficSummaryResponseModelBase:
      type: object
      description: Provides information about DNS Protection traffic counts.
      additionalProperties: false
      properties:
        StartDate:
          type: string
          description: Start date for returned records. Traffic summary records after (or at) this date are contained in the response.
          format: date-time
        EndDate:
          type: string
          description: End date for returned records. Traffic summary records before (or at) this date are contained in the response.
          format: date-time
        Sites:
          type: array
          description: The list of sites.
          nullable: true
          items:
            $ref: '#/components/schemas/GetDNSPTrafficSummaryResponseModel_Site'
    GetDNSPTrafficSummaryResponseModel_Site:
      type: object
      description: Provides DNS Protection traffic information for a GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        DNSRequests:
          type: integer
          description: The number of requests seen by the DNS Protection service from endpoints associated with the GSM site.
          format: int32
        BlockedDNSRequests:
          type: integer
          description: The number of requests blocked by the DNS Protection service.
          format: int32
        RiskyDNSRequests:
          type: integer
          description: The number of requests classified as risky by the DNS Protection service.
          format: int32
    GetDNSPTrafficSummaryForSiteResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficSummaryResponseModelBase'
      - type: object
        description: Provides information about DNS Protection traffic counts for a single site.
        additionalProperties: false
    GetDNSPTrafficCategorySummaryResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelBase'
      - type: object
        description: Category summary report for DNSP traffic.
        additionalProperties: false
    GetDNSPTrafficCategorySummaryResponseModelBase:
      type: object
      description: Base class for the DNSP traffic category summary report.
      additionalProperties: false
      properties:
        StartDate:
          type: string
          description: Start date for returned records. Traffic summary records after (or at) this date are contained in the response.
          format: date-time
        EndDate:
          type: string
          description: End date for returned records. Traffic summary records before (or at) this date are contained in the response.
          format: date-time
        Records:
          type: array
          description: A list of DNSP traffic records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelRecord'
    GetDNSPTrafficCategorySummaryResponseModelRecord:
      type: object
      description: Provides DNS Protection traffic information for a certain category.
      additionalProperties: false
      properties:
        CategoryId:
          type: integer
          description: "The DNS Protection category identifier this record is associated with. \nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available BrightCloud URL categories and their respective identifiers."
          format: int32
        DNSRequests:
          type: integer
          description: The number of requests seen by the DNS Protection service from endpoints associated with the GSM site.
          format: int32
        AllowedDNSRequests:
          type: integer
          description: The number of requests allowed by the DNS Protection service.
          format: int32
        BlockedDNSRequests:
          type: integer
          description: The number of requests blocked by the DNS Protection service.
          format: int32
    GetDNSPTrafficCategorySummaryForSiteResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryResponseModelBase'
      - type: object
        description: Category summary report for DNSP traffic belonging to a single site.
        additionalProperties: false
    GetDNSPTrafficCategoryUserSummaryResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelBase'
      - type: object
        description: Category summary report for DNSP traffic.
        additionalProperties: false
    GetDNSPTrafficCategoryUserSummaryResponseModelBase:
      type: object
      description: Base class for the DNSP traffic category user summary report.
      additionalProperties: false
      properties:
        StartDate:
          type: string
          description: Start date for returned records. Traffic summary records after (or at) this date are contained in the response.
          format: date-time
        EndDate:
          type: string
          description: End date for returned records. Traffic summary records before (or at) this date are contained in the response.
          format: date-time
        Records:
          type: array
          description: A list of DNSP traffic category summary records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelRecord'
    GetDNSPTrafficCategoryUserSummaryResponseModelRecord:
      type: object
      description: Provides DNS Protection traffic information with users' name grouped by category.
      additionalProperties: false
      properties:
        CategoryId:
          type: integer
          description: "The DNS Protection category identifier this record is associated with. \nCall ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available BrightCloud URL categories and their respective identifiers."
          format: int32
        Users:
          type: array
          description: List of users' data with number of requests allowed and blocked by the DNS Protection service for the given category.
          nullable: true
          items:
            $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelRecordUser'
    GetDNSPTrafficCategoryUserSummaryResponseModelRecordUser:
      type: object
      description: Provides DNS Protection traffic information with users' name.
      additionalProperties: false
      properties:
        UserName:
          type: string
          description: Name of the user whose DNS requests were allowed/blocked.
          nullable: true
        AllowedDNSRequests:
          type: integer
          description: The number of requests allowed by the DNS Protection service.
          format: int32
        BlockedDNSRequests:
          type: integer
          description: The number of requests blocked by the DNS Protection service.
          format: int32
    GetDNSPTrafficCategoryUserSummaryForSiteResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModelBase'
      - type: object
        description: Category summary report for DNSP traffic.
        additionalProperties: false
    GetWSATPhishingActivityResponseModel:
      type: object
      description: Provides information about phishing campaign activities.
      additionalProperties: false
      properties:
        CampaignType:
          type: string
          description: The type of the campaign (i.e. Phishing).
          nullable: true
        StartDate:
          type: string
          description: Start date for returned user activity information. Campaign activity after (or at) this date is contained in the response.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: End date for returned user activity information. Campaign activity before (or at) this date is contained in the response.
          format: date-time
          nullable: true
        Campaigns:
          type: array
          description: The list of matching campaigns for which activity was seen within the specified dates.
          nullable: true
          items:
            $ref: '#/components/schemas/GetWSATPhishingActivityResponseModel_Campaign'
    GetWSATPhishingActivityResponseModel_Campaign:
      type: object
      description: Provides information about a phishing campaign.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the site on which the campaign was created.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        CampaignName:
          type: string
          description: The phishing campaign name.
          nullable: true
        LaunchDate:
          type: string
          description: The date when the campaign was launched.
          format: date-time
          nullable: true
        TotalUsers:
          type: integer
          description: The total number of users who showed activity on the phishing campaign within the specified dates.
          format: int32
        TotalClicked:
          type: integer
          description: The total number of users who clicked the phishing link within the specified dates.
          format: int32
        TargetUsers:
          type: array
          description: The list of target users who showed activity on this campaign within the specified dates.
          nullable: true
          items:
            $ref: '#/components/schemas/GetWSATPhishingActivityResponseModel_CampaignTargetUser'
    GetWSATPhishingActivityResponseModel_CampaignTargetUser:
      type: object
      description: Provides information about a user targeted by a phishing campaign.
      additionalProperties: false
      properties:
        Email:
          type: string
          description: The email address of the user.
          nullable: true
        Clicked:
          type: boolean
          description: Value indicating whether the user clicked on the phishing link.
    GetWSATTrainingActivityResponseModel:
      type: object
      description: Provides information about training campaign activities.
      additionalProperties: false
      properties:
        CampaignType:
          type: string
          description: The type of the campaign (i.e. Training).
          nullable: true
        StartDate:
          type: string
          description: Start date for returned user activity information. Campaign activity after (or at) this date is contained in the response.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: End date for returned user activity information. Campaign activity before (or at) this date is contained in the response.
          format: date-time
          nullable: true
        Campaigns:
          type: array
          description: The list of matching campaigns for which activity was seen within the specified dates.
          nullable: true
          items:
            $ref: '#/components/schemas/GetWSATTrainingActivityResponseModel_Campaign'
    GetWSATTrainingActivityResponseModel_Campaign:
      type: object
      description: Provides information about a training campaign.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the site on which the campaign was created.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        CampaignName:
          type: string
          description: The training campaign name.
          nullable: true
        LaunchDate:
          type: string
          description: The date when the campaign was launched.
          format: date-time
          nullable: true
        TotalUsers:
          type: integer
          description: The total number of users who showed activity on the training campaign within the specified dates.
          format: int32
        TotalComplete:
          type: integer
          description: The total number of users who completed the training within the specified dates.
          format: int32
        TargetUsers:
          type: array
          description: The list of target users who showed activity on this campaign within the specified dates.
          nullable: true
          items:
            $ref: '#/components/schemas/GetWSATTrainingActivityResponseModel_CampaignTargetUser'
    GetWSATTrainingActivityResponseModel_CampaignTargetUser:
      type: object
      description: Provides information about a user enrolled to a training campaign.
      additionalProperties: false
      properties:
        Email:
          type: string
          description: The email address of the user.
          nullable: true
        Complete:
          type: boolean
          description: Value indicating whether the user completed the training.
    GetActivityResponseServiceModel:
      type: object
      description: Response model for client activity models.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: Gets or sets the license id the report refers to.
          format: int64
        Keycode:
          type: string
          description: Gets or sets the keycode the report refers to.
          nullable: true
        ReportDate:
          type: string
          description: Gets or sets the date of the report.
          format: date-time
          nullable: true
        TotalEndpoints:
          type: integer
          description: Gets or sets the number of endpoints that were active during the 30 day period prior to the report date.
          format: int32
          nullable: true
        BillingDayOfMonth:
          type: integer
          description: Gets or sets the date of the billing.
          format: int32
          nullable: true
    GetLicenseResponseServiceModel:
      type: object
      description: Response model for getting license details.
      additionalProperties: false
      properties:
        License:
          description: The License item.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetLicenseResponseServiceModel_License'
    GetLicenseResponseServiceModel_License:
      type: object
      description: The License item.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: The id of the license.
          format: int32
        Keycode:
          type: string
          description: The keycode of the license.
          nullable: true
        ExternalAccountId:
          type: string
          description: The account number of the customer
          nullable: true
        Seats:
          type: integer
          description: The number of seats the license has.
          format: int32
        SeatsUsed:
          type: integer
          description: The number of used seats.
          format: int32
        StorageGb:
          type: integer
          description: The available storage in GB.
          format: int32
        StartDate:
          type: string
          description: The start date of the license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiry date of the license.
          format: date-time
          nullable: true
        Modules:
          type: array
          description: The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/GetLicenseResponseServiceModel_Module'
    GetLicenseResponseServiceModel_Module:
      type: object
      description: The Module item.
      additionalProperties: false
      properties:
        Seats:
          type: integer
          description: The number of seats for this module.
          format: int32
        Name:
          type: string
          description: The name of the module.
          nullable: true
        Code:
          type: string
          description: The code of the module.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the module.
          nullable: true
        StartDate:
          type: string
          description: The start date of the module's license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of the module's license.
          format: date-time
          nullable: true
    GetChildLicensesResponseServiceModel:
      type: object
      description: Response model for getting a list of child licenses.
      additionalProperties: false
      properties:
        ChildLicenses:
          type: array
          description: The ChildLicenses item list.
          nullable: true
          items:
            $ref: '#/components/schemas/GetChildLicensesResponseServiceModel_Item'
    GetChildLicensesResponseServiceModel_Item:
      type: object
      description: The ChildLicenses item.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: The license id of a child license.
          format: int32
        Keycode:
          type: string
          description: The keycode of a child license.
          nullable: true
        TotalDevices:
          type: integer
          description: Number of total devices.
          format: int32
        Devices:
          type: integer
          description: Number of active devices.
          format: int32
        DeactivatedDevices:
          type: integer
          description: Number of deactivated devices.
          format: int32
        EffectiveDate:
          type: string
          description: The effective date.
          format: date-time
          nullable: true
        CompanyName:
          type: string
          description: The company name.
          nullable: true
        IsTrial:
          type: boolean
          description: Value indicating whether the child license is a trial license.
        Modules:
          type: array
          description: The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/GetChildLicensesResponseServiceModel_Module'
    GetChildLicensesResponseServiceModel_Module:
      type: object
      description: The Module item.
      additionalProperties: false
      properties:
        Seats:
          type: integer
          description: The number of seats for this module.
          format: int32
        Name:
          type: string
          description: The name of the module.
          nullable: true
        Code:
          type: string
          description: The code of the module.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the module.
          nullable: true
        StartDate:
          type: string
          description: The start date of the module's license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of the module's license.
          format: date-time
          nullable: true
    CreateLicensesResponseServiceModel:
      type: object
      description: Response model for creating a license.
      additionalProperties: false
      properties:
        Order:
          description: Order element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateLicensesResponseServiceModel_Order'
    CreateLicensesResponseServiceModel_Order:
      type: object
      description: Order element.
      additionalProperties: false
      properties:
        VendorOrderCode:
          type: string
          description: The vendor order code to identfy the order.
          nullable: true
        VendorOrderDate:
          type: string
          description: The date when the order was made.
          format: date-time
          nullable: true
        CurrencyCode:
          type: string
          description: The ISO three-letter currency code of the order.
          nullable: true
        TotalAmount:
          type: number
          description: The total amount of the order.
          format: float
        SubTotalAmount:
          type: number
          description: The subtotal amount.
          format: float
        TaxTotal:
          type: number
          description: The total amount of the taxes.
          format: float
        Items:
          type: array
          description: The item element list.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateLicensesResponseServiceModel_Item'
        Customer:
          description: The customer element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateLicensesResponseServiceModel_Customer'
    CreateLicensesResponseServiceModel_Item:
      type: object
      description: The item element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
        LicenseId:
          type: integer
          description: The id of the license.
          format: int32
        Keycode:
          type: string
          description: The keycode of the license.
          nullable: true
        Modules:
          type: array
          description: The modules allocated with this license (e.g. DNS Protection, WSAT, PLRCS or any other supported category).
          nullable: true
          items:
            $ref: '#/components/schemas/CreateLicensesResponseServiceModel_Module'
    CreateLicensesResponseServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
    CreateLicensesResponseServiceModel_Customer:
      type: object
      description: The customer element.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: The first name.
          nullable: true
        LastName:
          type: string
          description: The last name.
          nullable: true
        CompanyName:
          type: string
          description: The company name.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address.
          nullable: true
        PhoneNumber:
          type: string
          description: The phone number.
          nullable: true
        Address1:
          type: string
          description: The first address.
          nullable: true
        Address2:
          type: string
          description: The second address.
          nullable: true
        City:
          type: string
          description: The city.
          nullable: true
        State:
          type: string
          description: The ISO two-letter or three-letter code for the state.
          nullable: true
        PostalCode:
          type: string
          description: The postal code.
          nullable: true
        Country:
          type: string
          description: The ISO three-letter country code.
          nullable: true
    CreateLicensesRequestServiceModel:
      type: object
      description: Request model for creating one or multiple license.
      additionalProperties: false
      properties:
        Order:
          description: Order element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateLicensesRequestServiceModel_Order'
    CreateLicensesRequestServiceModel_Order:
      type: object
      description: Order element.
      additionalProperties: false
      required:
      - Items
      - Customers
      properties:
        PartnerOrderCode:
          type: string
          description: The partners order code.
          nullable: true
        PartnerOrderDate:
          type: string
          description: The date the order was made. Defaults to the current date.
          format: date-time
          nullable: true
        LanguageCode:
          type: string
          description: The ISO two-letter language code. Defaults to "en".
          nullable: true
        LocationCode:
          type: string
          description: The ISO three-letter country code.
          nullable: true
        PurchaseOrder:
          type: string
          description: The purchase order number.
          nullable: true
        Items:
          type: array
          description: The item element.
          items:
            $ref: '#/components/schemas/CreateLicensesRequestServiceModel_Item'
        Customers:
          type: array
          description: The customers list.
          items:
            $ref: '#/components/schemas/CreateLicensesRequestServiceModel_Customer'
    CreateLicensesRequestServiceModel_Item:
      type: object
      description: The item element.
      additionalProperties: false
      required:
      - PartnerProductId
      - Quantity
      - Seats
      properties:
        Modules:
          type: array
          description: The modules to allocate with this license (e.g. DNS Protection, WSAT, PLRCS or any other supported category).
          nullable: true
          items:
            $ref: '#/components/schemas/CreateLicensesRequestServiceModel_Module'
        PartnerProductId:
          type: string
          description: The product id.
          minLength: 1
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats the license should have.
          format: int32
        ListPrice:
          type: number
          description: The list price (a float with exactly 2 digits after the decimal point).
          format: float
          nullable: true
        UnitPrice:
          type: number
          description: The unit price (a float with exactly 2 digits after the decimal point).
          format: float
          nullable: true
        StartDate:
          type: string
          description: The license start date.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The license expiry date.
          format: date-time
          nullable: true
    CreateLicensesRequestServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      required:
      - Code
      - Seats
      properties:
        Code:
          type: string
          description: The module code (e.g. "DNS" for DNS Protection or "WSAT" for Webroot Security Awareness Training).
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for this specific module.
          format: int32
    CreateLicensesRequestServiceModel_Customer:
      type: object
      description: >-
        The Customer element.


        **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.


            Required (when ordering business products)
          nullable: true
        LastName:
          type: string
          description: >-
            The last name.


            Required (when ordering business products)
          nullable: true
        CompanyName:
          type: string
          description: >-
            The company name.


            Required (when ordering business products)
          nullable: true
        CustomerEmail:
          type: string
          description: >-
            The email address.


            Required (when ordering business products)
          nullable: true
        PhoneNumber:
          type: string
          description: The phone number.
          nullable: true
        Address1:
          type: string
          description: >-
            The first address.


            Required (when ordering business products)
          nullable: true
        Address2:
          type: string
          description: The second address.
          nullable: true
        City:
          type: string
          description: >-
            The city.


            Required (when ordering business products)
          nullable: true
        State:
          type: string
          description: >-
            The ISO two-letter or three-letter code for the state.


            Required (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.


            Required (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.


            Required
          nullable: true
        LanguageCode:
          type: string
          description: The ISO two-letter language code.
          nullable: true
        LocationCode:
          type: string
          description: The ISO three-letter country code.
          nullable: true
        PartnerProductId:
          type: string
          description: The product id.
          minLength: 1
        Seats:
          type: integer
          description: The number of seats on the trial license.
          format: int32
        Country:
          type: string
          description: The ISO three-letter country code.
          minLength: 1
        ExternalAccountId:
          type: string
          description: The account number of the customer.
          minLength: 1
    CreateTrialRequestServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      required:
      - Code
      - Seats
      properties:
        Code:
          type: string
          description: The module code (e.g. "DNS" for DNS Protection or "WSAT" for Webroot Security Awareness Training).
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for this specific module.
          format: int32
    AddTrialModuleResponseServiceModel:
      type: object
      description: Response model for creating a trial module.
      additionalProperties: false
      properties:
        License:
          description: The License element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateTrialModuleResponseServiceModel_License'
    CreateTrialModuleResponseServiceModel_License:
      type: object
      description: The License element.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: The license id for the created trial license.
          format: int32
        Keycode:
          type: string
          description: The keycode for the created trial license.
          nullable: true
        ExternalAccountId:
          type: string
          description: The account number of the customer.
          nullable: true
        Seats:
          type: integer
          description: The number of seats.
          format: int32
        SeatsUsed:
          type: integer
          description: The number of seats used.
          format: int32
        StorageGb:
          type: number
          description: The available storage in GB.
          format: float
        StartDate:
          type: string
          description: The start date of the trial license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiry date of the trial license.
          format: date-time
          nullable: true
        Modules:
          type: array
          description: The modules (e.g. DNS Protection or WSAT) allocated with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateTrialModuleResponseServiceModel_Module'
    CreateTrialModuleResponseServiceModel_Module:
      type: object
      description: The Module item.
      additionalProperties: false
      properties:
        Seats:
          type: integer
          description: The number of seats for this module.
          format: int32
        Name:
          type: string
          description: The name of the module.
          nullable: true
        Code:
          type: string
          description: The code of the module.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the module.
          nullable: true
        StartDate:
          type: string
          description: The start date of the module's license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of the module's license.
          format: date-time
          nullable: true
    AddTrialModuleRequestServiceModel:
      type: object
      description: Request model for creating a trial module.
      additionalProperties: false
      required:
      - Modules
      properties:
        Modules:
          type: array
          description: The trial modules (e.g. DNS Protection or WSAT) to allocate with this license.
          items:
            $ref: '#/components/schemas/CreateTrialModuleRequestServiceModel_Module'
    CreateTrialModuleRequestServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      required:
      - Code
      - Seats
      properties:
        Code:
          type: string
          description: The module code (e.g. "DNS" for DNS Protection or "WSAT" for Webroot Security Awareness Training).
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for this specific module.
          format: int32
    UpdateLicenseResponseServiceModel:
      type: object
      description: Response model for updating a license.
      additionalProperties: false
      properties:
        Order:
          description: Order element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UpdateLicenseResponseServiceModel_Order'
    UpdateLicenseResponseServiceModel_Order:
      type: object
      description: Order element.
      additionalProperties: false
      properties:
        VendorOrderCode:
          type: string
          description: The vendor order code to identfy the order.
          nullable: true
        VendorOrderDate:
          type: string
          description: The date when the order was made.
          format: date-time
          nullable: true
        CurrencyCode:
          type: string
          description: The ISO three-letter currency code of the order.
          nullable: true
        TotalAmount:
          type: number
          description: The total amount of the order.
          format: float
        SubTotalAmount:
          type: number
          description: The subtotal amount.
          format: float
        TaxTotal:
          type: number
          description: The total amount of the taxes.
          format: float
        Items:
          type: array
          description: The item element.
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateLicenseResponseServiceModel_Item'
        Customer:
          description: The customer element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UpdateLicenseResponseServiceModel_Customer'
    UpdateLicenseResponseServiceModel_Item:
      type: object
      description: The item element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
        LicenseId:
          type: integer
          description: The id of the license.
          format: int32
        Keycode:
          type: string
          description: The keycode of the license.
          nullable: true
        Modules:
          type: array
          description: The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateLicenseResponseServiceModel_Module'
    UpdateLicenseResponseServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
    UpdateLicenseResponseServiceModel_Customer:
      type: object
      description: The customer element.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: The first name.
          nullable: true
        LastName:
          type: string
          description: The last name.
          nullable: true
        CompanyName:
          type: string
          description: The company name.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address.
          nullable: true
        PhoneNumber:
          type: string
          description: The phone number.
          nullable: true
        Address1:
          type: string
          description: The first address.
          nullable: true
        Address2:
          type: string
          description: The second address.
          nullable: true
        City:
          type: string
          description: The city.
          nullable: true
        State:
          type: string
          description: The ISO two-letter or three-letter code for the state.
          nullable: true
        PostalCode:
          type: string
          description: The postal code.
          nullable: true
        Country:
          type: string
          description: The ISO three-letter country code.
          nullable: true
    UpdateLicenseRequestServiceModel:
      type: object
      description: Request model for updating a license.
      additionalProperties: false
      properties:
        Order:
          description: Order element.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UpdateLicenseRequestServiceModel_Order'
    UpdateLicenseRequestServiceModel_Order:
      type: object
      description: Order element.
      additionalProperties: false
      required:
      - Item
      - Customers
      properties:
        PartnerOrderCode:
          type: string
          description: The partners order code.
          nullable: true
        PartnerOrderDate:
          type: string
          description: The date the order was made. Defaults to the current date.
          format: date-time
          nullable: true
        LanguageCode:
          type: string
          description: The ISO two-letter language code. Defaults to "en".
          nullable: true
        LocationCode:
          type: string
          description: The ISO three-letter country code.
          nullable: true
        PurchaseOrder:
          type: string
          description: The purchase order number.
          nullable: true
        Item:
          description: The item element.
          oneOf:
          - $ref: '#/components/schemas/UpdateLicenseRequestServiceModel_Item'
        Customers:
          type: array
          description: The customers list.
          items:
            $ref: '#/components/schemas/UpdateLicenseRequestServiceModel_Customer'
    UpdateLicenseRequestServiceModel_Item:
      type: object
      description: The item element.
      additionalProperties: false
      required:
      - Seats
      properties:
        Modules:
          type: array
          description: The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) to allocate with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateLicenseRequestServiceModel_Module'
        PartnerProductId:
          type: string
          description: The product id.
          nullable: true
        Seats:
          type: integer
          description: The number of seats the license should have.
          format: int32
        ListPrice:
          type: number
          description: The list price (a float with exactly 2 digits after the decimal point).
          format: float
          nullable: true
        UnitPrice:
          type: number
          description: The unit price (a float with exactly 2 digits after the decimal point).
          format: float
          nullable: true
        StartDate:
          type: string
          description: The license start date.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The license expiry date.
          format: date-time
          nullable: true
    UpdateLicenseRequestServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      required:
      - Code
      - Seats
      properties:
        Code:
          type: string
          description: The module code (e.g. "DNS" for DNS Protection or "WSAT" for Webroot Security Awareness Training).
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for this specific module.
          format: int32
    UpdateLicenseRequestServiceModel_Customer:
      type: object
      description: >-
        The Customer element.


        **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.


            Required (when ordering business products)
          nullable: true
        LastName:
          type: string
          description: >-
            The last name.


            Required (when ordering business products)
          nullable: true
        CompanyName:
          type: string
          description: >-
            The company name.


            Required (when ordering business products)
          nullable: true
        CustomerEmail:
          type: string
          description: >-
            The email address.


            Required (when ordering business products)
          nullable: true
        PhoneNumber:
          type: string
          description: The phone number.
          nullable: true
        Address1:
          type: string
          description: >-
            The first address.


            Required (when ordering business products)
          nullable: true
        Address2:
          type: string
          description: The second address.
          nullable: true
        City:
          type: string
          description: >-
            The city.


            Required (when ordering business products)
          nullable: true
        State:
          type: string
          description: >-
            The ISO two-letter or three-letter code for the state.


            Required (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.


            Required (when *Country* is USA)
          nullable: true
        OrderCompanyTypeId:
          type: integer
          description: 'The type of customer: 1 = end account, 3 = reseller partner account.'
          format: int32
    GetOrderByVendorCodeResponseServiceModel:
      type: object
      description: Response model for getting Orders by vendor order code.
      additionalProperties: false
      properties:
        Order:
          description: The Order item list.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Order'
    GetOrderByVendorCodeResponseServiceModel_Order:
      type: object
      description: The order element.
      additionalProperties: false
      properties:
        VendorOrderCode:
          type: string
          description: The vendor order code to identfy the order.
          nullable: true
        VendorOrderDate:
          type: string
          description: The date when the order was made.
          format: date-time
          nullable: true
        CurrencyCode:
          type: string
          description: The ISO three-letter currency code of the order.
          nullable: true
        TotalAmount:
          type: number
          description: The total amount of the order.
          format: float
        SubTotalAmount:
          type: number
          description: The subtotal amount.
          format: float
        TaxTotal:
          type: number
          description: The total amount of the taxes.
          format: float
        Items:
          type: array
          description: The Items list.
          nullable: true
          items:
            $ref: '#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Item'
        Customer:
          description: The customer details.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Customer'
    GetOrderByVendorCodeResponseServiceModel_Item:
      type: object
      description: The Item element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
        LicenseId:
          type: integer
          description: The id of the license.
          format: int32
        Keycode:
          type: string
          description: The keycode of the license.
          nullable: true
        Modules:
          type: array
          description: The modules (e.g. DNS Protection, WSAT, PLRCS or any other supported category) allocated with this license.
          nullable: true
          items:
            $ref: '#/components/schemas/GetOrderByVendorCodeResponseServiceModel_Module'
    GetOrderByVendorCodeResponseServiceModel_Module:
      type: object
      description: The module element.
      additionalProperties: false
      properties:
        ProductId:
          type: string
          description: The product id.
          nullable: true
        Quantity:
          type: integer
          description: The number of licenses.
          format: int32
        Seats:
          type: integer
          description: The number of seats per license.
          format: int32
        Years:
          type: integer
          description: The number of years the license is valid.
          format: int32
        ListPrice:
          type: number
          description: The list price.
          format: float
        UnitPrice:
          type: number
          description: The unit price.
          format: float
    GetOrderByVendorCodeResponseServiceModel_Customer:
      type: object
      description: The customer element.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: The first name.
          nullable: true
        LastName:
          type: string
          description: The last name.
          nullable: true
        CompanyName:
          type: string
          description: The company name.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address.
          nullable: true
        Address1:
          type: string
          description: The first address.
          nullable: true
        Address2:
          type: string
          description: The second address.
          nullable: true
        City:
          type: string
          description: The city.
          nullable: true
        State:
          type: string
          description: The ISO two-letter or three-letter code for the state.
          nullable: true
        Country:
          type: string
          description: The ISO three-letter country code.
          nullable: true
        PostalCode:
          type: string
          description: The postal code.
          nullable: true
    CreateCartResponseServiceModel:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel'
      - type: object
        description: Response model for creating carts.
        additionalProperties: false
    CartResponseServiceModel:
      type: object
      description: Base response class for cart services.
      additionalProperties: false
      properties:
        VendorOrderCode:
          type: string
          description: An identifier of the order.
          nullable: true
        CartOrderStatusId:
          type: integer
          description: The status identifier of the cart order (1,2,3).
          format: int32
          nullable: true
        TypeOfOrder:
          type: string
          description: The type of cart order placed ("RESELLER", "MSP").
          nullable: true
        TotalAmount:
          type: number
          description: The total amount of the cart order.
          format: float
          nullable: true
        TotalAmountFmt:
          type: string
          description: The format of the *TotalAmount* field (e.g. "$0.00").
          nullable: true
        SubTotalAmount:
          type: number
          description: The sub total amount of the cart order.
          format: float
          nullable: true
        SubTotalAmountFmt:
          type: string
          description: The format of the *SubTotalAmount* field (e.g. "$0.00").
          nullable: true
        TaxAmount:
          type: number
          description: The tax amount of the cart order.
          format: float
          nullable: true
        TaxAmountFmt:
          type: string
          description: The format of the *TaxAmount* field (e.g. "$0.00").
          nullable: true
        Locale:
          type: string
          description: The language and territory used as the locale setting for the order (e.g. "en\_US").
          nullable: true
        SalesOrderDate:
          type: string
          description: The date when the sale was processed.
          format: date-time
          nullable: true
        CurrencyCode:
          type: string
          description: The ISO three-letter currency code of the order (e.g. "USD").
          nullable: true
        Items:
          type: array
          description: The items contained in this cart.
          nullable: true
          items:
            type: array
            items:
              $ref: '#/components/schemas/CartResponseServiceModel_CartItem'
        Customers:
          description: The customers associated to this cart.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomers'
    CartResponseServiceModel_CartItem:
      type: object
      description: A single item associated to a cart.
      additionalProperties: false
      properties:
        CartOrderItemId:
          type: integer
          description: Sequence number of this cart item.
          format: int32
          nullable: true
        LineItem:
          type: integer
          description: Line identifier associated to this cart item.
          format: int32
          nullable: true
        Quantity:
          type: integer
          description: Count of this cart item.
          format: int32
          nullable: true
        Years:
          type: string
          description: "The number of years the license is valid. \nPossible values are: 0, 0.083, 0.167, 0.5, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 3.25, 3.5."
          nullable: true
        ListPrice:
          type: number
          description: The price of this cart item.
          format: float
          nullable: true
        ListPriceFmt:
          type: string
          description: The format of the *ListPrice* field (e.g. "$0.00").
          nullable: true
        UnitPrice:
          type: number
          description: The unit price of this cart item.
          format: float
          nullable: true
        UnitPriceFmt:
          type: string
          description: The format of the *UnitPrice* field (e.g. "$0.00").
          nullable: true
        SubTotalAmount:
          type: number
          description: The sub total amount of this cart item.
          format: float
          nullable: true
        SubTotalAmountFmt:
          type: string
          description: The format of the *SubTotalAmount* field (e.g. "$0.00").
          nullable: true
        SubTotalListAmount:
          type: number
          description: The sub total list amount of this cart item.
          format: float
          nullable: true
        SubTotalListAmountFmt:
          type: string
          description: The format of the *SubTotalListAmount* field (e.g. "$0.00").
          nullable: true
        ProductId:
          type: integer
          description: The product type identifier.
          format: int32
          nullable: true
        ProductDescription:
          type: string
          description: A description of this product.
          nullable: true
        ProductTypeId:
          type: integer
          description: "The product type identifier. \nPossible values are: New, Renewal, Upgrade."
          format: int32
          nullable: true
        ProductTypeDescription:
          type: string
          description: A description of the product type.
          nullable: true
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license."
          format: int32
          nullable: true
        LicenseCategoryName:
          type: string
          description: License category associated to this item.
          nullable: true
        LicenseCategoryDescription:
          type: string
          description: A description of the license.
          nullable: true
        ProductFamilyDescription:
          type: string
          description: A description of the product family.
          nullable: true
        StartDate:
          type: string
          description: The start date associated to this license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license.
          format: date-time
          nullable: true
        CartItemBundleId:
          type: integer
          description: The bundle identifier for this cart item.
          format: int32
          nullable: true
        ItemHierarchyId:
          type: integer
          description: An identifier specifying whether this cart item is a primary or a secondary product. Secondary products have an *ItemHierarchyId* of 2, and represent products dependent on a primary product. Examples include SDNS, SECA (WSAT), OTEDR, OTMDR and OTMDRC products provisioned as part of an item whose primary product is SAEP.
          format: int32
          nullable: true
        DependentCartOrderItemId:
          type: integer
          description: If present, indicates that the state of this line item depends on the state of another, and therefore should not be modified directly. Essentially, this indicates that the line item is read-only. For example, in the case of an renewal and upgrade, the upgrade line item depends on the state of the renewal line. If the license seats of the renewal line change, the license seats of the upgrade line change inversely.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode associated to this cart item.
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of the license attribute value assigned to this item.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        VendorOrderItemCode:
          type: string
          description: The vendor specific order item code.
          nullable: true
        OrderItemUpdateTypeId:
          type: integer
          description: The update type identifier for this item.
          format: int32
          nullable: true
        LicenseProfile:
          type: object
          description: The license profile associated to this item.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CartResponseServiceModel_LicenseProfile'
        LicenseSeats:
          type: integer
          description: The number of license seats associated to this cart item.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR, OTMDRC and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        VaultName:
          type: string
          description: The name of the datacenter vault associated with *VaultId*.
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level used for this item.
          format: int32
          nullable: true
        ProductPricingLevelDescription:
          type: string
          description: A textual representation of the *ProductPricingLevelId* field.
          nullable: true
    CartResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information for a cart item.
        additionalProperties: false
    ResponseServiceModel_LicenseProfile:
      type: object
      description: Response model for licenses.
      additionalProperties: false
      properties:
        LicenseCategoryName:
          type: string
          description: The category name of this license.
          nullable: true
        LicenseCategoryDescription:
          type: string
          description: A description of this license category.
          nullable: true
        LicenseSeats:
          type: integer
          description: The number of seats associated to this license.
          format: int32
          nullable: true
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license."
          format: int32
          nullable: true
        StartDate:
          type: string
          description: The start date associated to this license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license.
          format: date-time
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of this LicenseAttributeValue.
          nullable: true
        LicenseAttributeDescription:
          type: string
          description: A description of this license attribute.
          nullable: true
        CategoryTypeName:
          type: string
          description: "The type of this category. \nPossible values are: trial, full."
          nullable: true
        ItemHierarchyId:
          type: integer
          description: "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response), OTMDRC (OpenText Managed Detection and Response - Complete), OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) and OSBPH (OpenText Server Backup - Public Cloud: OpenText Hosted cloud) products provisioned as part of an item whose primary product is SAEP."
          format: int32
          nullable: true
        ItemHierarchyName:
          type: string
          description: "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary."
          nullable: true
        LicenseStatusId:
          type: integer
          description: "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled."
          format: int32
          nullable: true
        LicenseStatusDescription:
          type: string
          description: A description for the LicenseStatusId field.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        UsageCheckDay:
          type: integer
          description: The day of the month at which usage numbers are processed for this item.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR, OTMDRC and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH\n\n\n**Note:** This value has been superseded by the *Vaults* list and represents the id of the first vault in the list (if such an entry is available)."
          format: int32
          nullable: true
        VaultName:
          type: string
          description: "The name of the datacenter vault associated with *VaultId*. \n**Note:** This value has been superseded by the *Vaults* list and represents the data center name of the first vault in the list (if such an entry is available)."
          nullable: true
        Vaults:
          type: array
          description: A list of data centers used for this item (applicable to backup licenses only).
          nullable: true
          items:
            $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile_Vault'
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
    ResponseServiceModel_LicenseProfile_Vault:
      type: object
      description: Information about the data center which is used for a certain license.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: The name of the vault (e.g. "FR").
          nullable: true
        Id:
          type: integer
          description: The id of the vault.
          format: int32
          nullable: true
        DataCenterName:
          type: string
          description: The name of the data center (e.g. "France Central (Paris)").
          nullable: true
        LicenseCategoryName:
          type: string
          description: The category name of this license.
          nullable: true
    CartResponseServiceModel_CartCustomers:
      type: object
      description: Customers associated to a cart.
      additionalProperties: false
      properties:
        Billing:
          description: The billing customer associated to a cart. It is set up when the cart is created and cannot be modified later on.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
        Shipping:
          description: End customer specific information.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
        Reseller:
          description: Reseller customer specific information. Is only listed if *TypeOfOrder* is "RESELLER".
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
    CartResponseServiceModel_CartCustomer:
      type: object
      description: A customer associated to a cart.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: The first name of the customer.
          nullable: true
        LastName:
          type: string
          description: The last name of the customer.
          nullable: true
        Address1:
          type: string
          description: Address line.
          nullable: true
        Address2:
          type: string
          description: Address line 2.
          nullable: true
        City:
          type: string
          description: The city where the customer is located.
          nullable: true
        PostalCode:
          type: string
          description: The postal code of the customer's location.
          nullable: true
        State:
          type: string
          description: The state code of the customer's location.
          nullable: true
        Country:
          type: string
          description: The country code of the customer's location.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address of the customer.
          nullable: true
        CompanyName:
          type: string
          description: The name of the customer's company.
          nullable: true
        ExternalCustomerKey:
          type: string
          description: The client's identifier for the customer.
          nullable: true
        VatId:
          type: string
          description: The VAT ID of the customer.
          nullable: true
        CustomerTypeId:
          type: integer
          description: The customer type ID.
          format: int32
          nullable: true
        CustomerTypeDescription:
          type: string
          description: The description of the customer type.
          nullable: true
        OptIn:
          type: boolean
          description: Value indicating whether the customer is set to receive marketing and promotional e-mail communication from Webroot or OpenText.
          nullable: true
    CreateCartRequestServiceModel:
      type: object
      description: >-
        Request model for creating carts.


        **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.


          **NOTE:** Each partner account configuration can have different products set up (e.g. WIFI product for 1 year with 10 seats), which restrict the values that can be specified for the *LicenseCategoryName*, *LicenseSeats*, and *Years* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.
        additionalProperties: false
        required:
        - Keycode
        properties:
          LicenseSeats:
            type: integer
            description: The number of seats the license should have.
            format: int32
            nullable: true
          LicenseCategoryName:
            type: string
            description: "License category associated to this item. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OTMDRC, PLRP, CALLY, OSBPB, OSBPH."
            nullable: true
          Keycode:
            type: string
            description: The license key with which to create either a renewal or an upgrade item.
            minLength: 1
    CreateCartRequestServiceModel_Item:
      type: object
      description: Base class for items in CreateCartRequestServiceModel.
      additionalProperties: false
      required:
      - Years
      properties:
        Years:
          type: string
          description: "The number of years the license should be valid. \nPossible values are: 0, 0.083, 0.167, 0.5, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 3.25, 3.5."
          minLength: 1
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license. If not specified, a default of 1 is assumed."
          format: int32
          nullable: true
        ItemHierarchyId:
          type: integer
          description: "An identifier specifying whether the cart item is a primary or secondary product. Secondary products have an *ItemHierarchyId* of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response), OTMDRC (OpenText Managed Detection and Response - Complete) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) and OSBPH (OpenText Server Backup - Public Cloud: OpenText Hosted cloud) products provisioned as part of an item whose primary product is SAEP. \nNote that the *ItemHierarchyId* field cannot be used without a *CartItemBundleId*.\nIf not specified, a default of 1 is assumed."
          format: int32
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license. Although *Years* is a required input for the cart item, it is possible to define a custom expiration date by using this parameter. Specifying a custom expiration date needs to be enabled on your partner account. Please contact your Webroot representative, if you require this functionality.
          format: date-time
          nullable: true
        VendorOrderItemCode:
          type: string
          description: The vendor specific order item code.
          nullable: true
        CartItemBundleId:
          type: integer
          description: The bundle identifier for this item. Defines whether the items specified in the cart belong to the same license/keycode. If multiple items are associated with the same bundle, only one of them can have an *ItemHierarchyId* of 1.
          format: int32
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold". Please note that the exact values you can use are determined by your contract with Webroot.
          format: int32
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage will be calculated for this item. Only applicable to certain license categories like OTSF (1 = Advanced, 2 = Capacity) and CBEP (1 = Advanced, 3 = Standard). If not specified, a default is assumed. Please speak with your Webroot e-commerce business partner for defaults/values specific to your contract.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR, OTMDR and OTMDRC). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR, OTMDRC and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained (applicable to OTSF only). Legitimate values are 1 (for one year) or 2 (for seven years). Default is 1.
          format: int32
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level to use for this item (1 = Standard, 2 = EDU/Non Profit, 3 = Government). Only valid for resellers (not for MSP orders). Partners who are not configured will get a 'no pricing found' message.
          format: int32
          nullable: true
    CreateCartRequestServiceModel_ItemByAttributes:
      allOf:
      - $ref: '#/components/schemas/CreateCartRequestServiceModel_Item'
      - type: object
        description: >-
          Element for cart items based on attributes.


          **NOTE:** Each partner account configuration can have different products set up (e.g. WIFI product for 1 year with 10 seats), which restrict the values that can be specified for the *LicenseCategoryName*, *LicenseSeats*, and *Years* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.
        additionalProperties: false
        required:
        - LicenseSeats
        - LicenseCategoryName
        properties:
          LicenseSeats:
            type: integer
            description: The number of seats the license should have.
            format: int32
          LicenseCategoryName:
            type: string
            description: "License category associated to this item. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OTMDRC, PLRP, CALLY, OSBPB, OSBPH."
            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.


            Required (for business products)
          nullable: true
        LastName:
          type: string
          description: >-
            The last name of the customer.


            Required (for business products)
          nullable: true
        Address1:
          type: string
          description: >-
            Address line.


            Required (for business products)
          nullable: true
        Address2:
          type: string
          description: Address line.
          nullable: true
        City:
          type: string
          description: >-
            The city of the customer.


            Required (for business products)
          nullable: true
        PostalCode:
          type: string
          description: >-
            The postal code of the customer.


            Required (for business products)
          nullable: true
        State:
          type: string
          description: >-
            The ISO two-letter or three-letter code for the state.


            Required (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.


            Required (for business products)
          nullable: true
        CompanyName:
          type: string
          description: >-
            The name of the customer's company.


            Required (for business products)
          nullable: true
        CompanyTypeId:
          type: integer
          description: "The company type id. \nPossible values are: 1 = Distributor, 2 = Reseller, 3 = MSP, 11 = MSP/Reseller Hybrid, 14 = Business.\n\nRequired (for business products)"
          format: int32
        ExternalCustomerKey:
          type: string
          description: The client's identifier for the customer.
          minLength: 1
        OptIn:
          type: boolean
          description: Value indicating whether the customer may receive marketing and promotional e-mail communication from Webroot or OpenText. If the value is not provided or null, *OptIn* will default to true.
          nullable: true
    GetCustomersOfCartResponseServiceModel:
      type: object
      description: Response model for customers associated to a cart.
      additionalProperties: false
      properties:
        Billing:
          description: Customer record for the billing entity
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer'
        Reseller:
          description: Customer record for the reseller (if any)
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer'
        Shipping:
          description: Customer record designating the shipping entity
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetCustomersOfCartResponseServiceModel_Customer'
    GetCustomersOfCartResponseServiceModel_Customer:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
      - type: object
        description: The customer record
        additionalProperties: false
    CreateOrderResponseServiceModel:
      type: object
      description: Response model for creating an order
      additionalProperties: false
      properties:
        VendorOrderDate:
          type: string
          description: The Date when the order was created.
          format: date-time
          nullable: true
        Locale:
          type: string
          description: The language and territory used as the locale setting for the order (e.g. "en\_US").
          nullable: true
        TypeOfOrder:
          type: string
          description: "The type of order to be placed. The market for the order. \nPossible values are: RESELLER, MSP."
          nullable: true
        VendorOrderCode:
          type: string
          description: Identifier of the order
          nullable: true
        OrderHeaderToken:
          type: string
          description: A randomly generated GUID acting as a pointer to the order. This may be passed in URL as an unguessable order identifier.
          nullable: true
        CurrencyCode:
          type: string
          description: The ISO three-letter curreny code of the order (e.g. "USD").
          nullable: true
        PaymentHeader:
          description: The payment header for the order.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_PaymentHeader'
        Items:
          type: array
          description: The list of items included in the order
          nullable: true
          items:
            $ref: '#/components/schemas/CreateOrderResponseServiceModel_OrderItem'
        Customers:
          description: Customer records associated with the order
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customers'
    CreateOrderResponseServiceModel_PaymentHeader:
      type: object
      description: The payment header included in an order
      additionalProperties: false
      properties:
        PaymentStatusName:
          type: string
          description: The payment status of the order
          nullable: true
        PaymentMethodName:
          type: string
          description: The payment method of the order
          nullable: true
    CreateOrderResponseServiceModel_OrderItem:
      type: object
      description: An item included in an order
      additionalProperties: false
      properties:
        LicenseCategoryName:
          type: string
          description: The identifier for a particular product on a license. In the majority of cases, one license has one category. In the case of GSM and Pillr licenses, a license may have one primary category and many secondary categories (e.g. SECA, SDNS, PLRCS).
          nullable: true
        LicenseKeycodeTypeId:
          type: string
          description: "An identifier of the keycode type of a license. \nPossible values are: 1 = standard license, 3 = parent license."
          nullable: true
        Seats:
          type: integer
          description: The number of licensed seats
          format: int32
          nullable: true
        Quantity:
          type: integer
          description: The ordered quantity
          format: int32
          nullable: true
        UnitPrice:
          type: number
          description: The unit price of the item
          format: float
          nullable: true
        ItemHierarchyId:
          type: integer
          description: "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response), OTMDRC (OpenText Managed Detection and Response - Complete) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) and OSBPH (OpenText Server Backup - Public Cloud: OpenText Hosted cloud) products provisioned as part of an item whose primary product is SAEP."
          format: int32
          nullable: true
        ItemBundleId:
          type: integer
          description: The bundle identifier for this order item.
          format: int32
          nullable: true
        KeyCode:
          type: string
          description: Key code associated with the item
          nullable: true
        ProductDescription:
          type: string
          description: Description of the ordered product
          nullable: true
        ProductTypeDescription:
          type: string
          description: Type of the ordered product
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of the license attribute value assigned to this item.
          nullable: true
        LicenseAttributeDescription:
          type: string
          description: A description of this license attribute.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR, OTMDRC and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        VaultName:
          type: string
          description: The name of the datacenter vault associated with *VaultId*.
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level used for this item.
          format: int32
          nullable: true
        ProductPricingLevelDescription:
          type: string
          description: A textual representation of the *ProductPricingLevelId* field.
          nullable: true
        CustomAttribute:
          type: string
          description: Custom value which may be set by ECom depending on the use case.
          nullable: true
    CreateOrderResponseServiceModel_Customers:
      type: object
      description: Customer records associated with the order
      additionalProperties: false
      properties:
        Billing:
          description: Customer record used for billing
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
        Shipping:
          description: Customer record used for shipping
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
        Reseller:
          description: Reseller customer record
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
    CreateOrderResponseServiceModel_Customer:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
      - type: object
        description: Customer record associated with an order
        additionalProperties: false
        properties:
          CustomerId:
            type: integer
            description: The customer id
            format: int32
            nullable: true
          PhoneNumber:
            type: string
            description: The phone number of the customer
            nullable: true
    CreateOrderRequestServiceModel:
      type: object
      description: Request model for creating an order.
      additionalProperties: false
      required:
      - VendorOrderCode
      - PaymentMethod
      properties:
        VendorOrderCode:
          type: string
          description: Identifier of the cart to be converted into an order.
          minLength: 1
        PaymentMethod:
          type: string
          description: "The payment method for the order. \nPossible values are: PurchaseOrder."
          minLength: 1
        PurchaseOrder:
          type: string
          description: >-
            The purchase order number created by the caller.


            Required (when *PaymentMethod* is 'PurchaseOrder').
          nullable: true
        LicenseDistributionMethodCode:
          type: string
          description: "Distribution method to use for this order. \nNote: This property is only applicable, if the e-commerce partner account is set up to support multiple distribution methods. If this is the case and a value for *LicenseDistributionMethodCode* is not provided, the partner's default distribution method will be used."
          nullable: true
    GetOrderStatusResponseServiceModel:
      type: object
      description: Provides information about the status of a product order.
      additionalProperties: false
      properties:
        OrderStatus:
          type: array
          description: List of status information records for each order associated with a keycode.
          nullable: true
          items:
            $ref: '#/components/schemas/GetOrderStatusResponseServiceModelOrderStatus'
    GetOrderStatusResponseServiceModelOrderStatus:
      type: object
      description: Order status information for an order associated with a keycode.
      additionalProperties: false
      properties:
        Keycode:
          type: string
          description: The keycode identifying the product license.
          nullable: true
        VendorOrderCode:
          type: string
          description: The vendor order code identifying the order executed on the keycode.
          nullable: true
        ExceptionStatus:
          type: string
          description: "Information whether any exceptions have arisen during the order fulfillment process which may delay the ability to interact and use the ordered or updated license. \nMost common values are:\n\n- *null*  ... No exceptions have occurred and the order was processed successfully.\n- \"pending\"  ... The resolution of an order exception is still pending.\n- \"resolved\"  ... The order exception has been resolved.\n- \"abandon\"  ... The resolution of an order exception led to abandoning the order.\n\nIf other values than those described above are encountered, please contact your Webroot eCommerce representative for further information. "
          nullable: true
        PartnerLicenseStatus:
          type: string
          description: "Status of whether an order requires/required resolution with regard to partner licenses or billing entities. \nMost common values are:\n\n- *null*  ... No resolution was necessary or applicable.\n- \"pending\"  ... The license resolution is still pending.\n- \"approved\"  ... The order on the license has been approved.\n- \"declined\"  ... The order on the license has been declined.\n- \"archived\"  ... The license resolution was archived/superseded.\n\nIf other values than those described above are encountered, please contact your Webroot eCommerce representative for further information. "
          nullable: true
    CreateProductCancellationResponseServiceModel:
      type: object
      description: Response model for cancelling a particular product.
      additionalProperties: false
      properties:
        LicenseServiceId:
          type: integer
          description: The license service ID
          format: int32
          nullable: true
    GetProductLicenseResponseServiceModel:
      type: object
      description: Response model for GetProductLicense.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: A unique identifier for the license that was queried.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ProductLineDescription:
          type: string
          description: Description of the associated product line.
          nullable: true
        ParentLicenseId:
          type: integer
          description: Unique identifier for the parent license.
          format: int32
          nullable: true
        ParentKeycode:
          type: string
          description: The keycode for the parent license.
          nullable: true
        ChildLicenseActivations:
          type: integer
          description: Number of activations in child licenses.
          format: int32
          nullable: true
        PartnerStartDate:
          type: string
          description: Start date of the partner.
          format: date-time
          nullable: true
        CustomAttribute:
          type: string
          description: Custom value which may be set by eCom depending on the use case.
          nullable: true
        Profile:
          type: object
          description: A dictionary of profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/GetProductLicenseResponseServiceModel_LicenseProfile'
        Customer:
          description: The customer associated to this license.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetProductLicenseResponseServiceModel_Customer'
    GetProductLicenseResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information in a profile.
        additionalProperties: false
    GetProductLicenseResponseServiceModel_Customer:
      type: object
      description: Response models for customers.
      additionalProperties: false
      properties:
        VendorCustomerCode:
          type: string
          description: Customer identifier.
          nullable: true
        CompanyName:
          type: string
          description: The company name associated to this license.
          nullable: true
    GetProductChildLicensesResponseServiceModel:
      type: object
      description: Response model for GetProductChildLicenses.
      additionalProperties: false
      properties:
        ChildLicenses:
          type: array
          description: Child Licenses associated to the product.
          nullable: true
          items:
            $ref: '#/components/schemas/GetProductChildLicensesResponseServiceModel_Element'
    GetProductChildLicensesResponseServiceModel_Element:
      type: object
      description: Response model for a child license element that is returned in a GetProductChildLicenses call.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: A unique identifier for the license.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ParentKeycode:
          type: string
          description: The keycode for the parent license.
          nullable: true
        SiteName:
          type: string
          description: The name of the site associated to *Keycode*.
          nullable: true
        ChildLicenseProfile:
          type: object
          description: A list of child license profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/GetProductChildLicensesResponseServiceModel_ChildLicenseProfile'
    GetProductChildLicensesResponseServiceModel_ChildLicenseProfile:
      type: object
      description: Response model for a child license profile.
      additionalProperties: false
      properties:
        LicenseCategoryName:
          type: string
          description: The category name of this license.
          nullable: true
        LicenseCategoryDescription:
          type: string
          description: A description of this license category.
          nullable: true
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license."
          format: int32
          nullable: true
        StartDate:
          type: string
          description: The start date associated to this license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license.
          format: date-time
          nullable: true
        CategoryTypeName:
          type: string
          description: "The type of this category. \nPossible values are: trial, full."
          nullable: true
        ItemHierarchyId:
          type: integer
          description: "An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response), OTMDRC (OpenText Managed Detection and Response - Complete) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) and OSBPH (OpenText Server Backup - Public Cloud: OpenText Hosted cloud) products provisioned as part of an item whose primary product is SAEP."
          format: int32
          nullable: true
        ItemHierarchyName:
          type: string
          description: "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary."
          nullable: true
        LicenseStatusId:
          type: integer
          description: "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled."
          format: int32
          nullable: true
        LicenseStatusDescription:
          type: string
          description: A description for the LicenseStatusId field.
          nullable: true
    CreateTrialProductResponseServiceModel:
      type: object
      description: Response model for CreateTrial.
      additionalProperties: false
      properties:
        Message:
          type: string
          description: Specifies if the user has duplicate registration.
          nullable: true
        LicenseId:
          type: integer
          description: A unique identifier for the license that was queried.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ProductLineDescription:
          type: string
          description: Description of the associated product line.
          nullable: true
        Profile:
          type: object
          description: A dictionary of profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CreateTrialProductResponseServiceModel_LicenseProfile'
        Customer:
          description: The customer associated to this license.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateTrialProductResponseServiceModel_Customer'
    CreateTrialProductResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information in a profile.
        additionalProperties: false
    CreateTrialProductResponseServiceModel_Customer:
      type: object
      description: Response models for customers.
      additionalProperties: false
      properties:
        VendorCustomerCode:
          type: string
          description: Value that was assigned to identify the recipient of the license.
          nullable: true
        FirstName:
          type: string
          description: The first name of the customer.
          nullable: true
        LastName:
          type: string
          description: The last name of the customer.
          nullable: true
        Address1:
          type: string
          description: Address line.
          nullable: true
        City:
          type: string
          description: The city where the customer is located.
          nullable: true
        PostalCode:
          type: string
          description: The postal code of the customer's location.
          nullable: true
        State:
          type: string
          description: The state code of the customer's location.
          nullable: true
        Country:
          type: string
          description: The country code of the customer's location.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address of the customer.
          nullable: true
        CompanyName:
          type: string
          description: The name of the customer's company.
          nullable: true
    CreateTrialProductRequestServiceModel:
      type: object
      description: >-
        Request model for CreateTrial.


        **NOTE:** Each partner account configuration can have different products set up, which restrict the values that can be specified for the *LicenseCategoryName* and *LicenseSeats* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.
      additionalProperties: false
      required:
      - LicenseSeats
      - LicenseCategoryName
      - CustomerEmail
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have.
          format: int32
        LicenseCategoryName:
          type: string
          description: "License category associated to this item. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OTMDRC, OSBPB, OSBPH."
          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.


            Required (for business products)
          nullable: true
        LastName:
          type: string
          description: >-
            The last name of the customer.


            Required (for business products)
          nullable: true
        Address1:
          type: string
          description: >-
            Address line.


            Required (for business products)
          nullable: true
        City:
          type: string
          description: >-
            The city of the customer.


            Required (for business products)
          nullable: true
        PostalCode:
          type: string
          description: >-
            The postal code of the customer.


            Required (for business products)
          nullable: true
        State:
          type: string
          description: >-
            The ISO two-letter or three-letter code for the state.


            Required (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.


            Required (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.


            Required (for business products)
          nullable: true
        VendorCustomerCode:
          type: string
          description: An arbitrary value that can be assigned to identify the recipient of the license.
          nullable: true
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR, OTMDR and OTMDRC). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and OTMDRC the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        Modules:
          type: array
          description: The modules to be added to this trial product.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateTrialProductRequestServiceModel_Module'
    CreateTrialProductRequestServiceModel_Module:
      type: object
      description: Module information for products
      additionalProperties: false
      required:
      - LicenseSeats
      - LicenseCategoryName
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have.
          format: int32
        LicenseCategoryName:
          type: string
          description: "The category name of the license. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, OTEDR, OTMDR, OTMDRC, SECA, OSBPB, OSBPH."
          minLength: 1
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR, OTMDR and OTMDRC). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and OTMDRC the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem."
          format: int32
          nullable: true
    CreateModuleTrialResponseServiceModel:
      type: object
      description: Response model for creating trial modules.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: A unique identifier for the license that was queried.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ProductLineDescription:
          type: string
          description: Description of the associated product line.
          nullable: true
        ParentLicenseId:
          type: integer
          description: Unique identifier for the parent license.
          format: int32
          nullable: true
        ParentKeycode:
          type: string
          description: The keycode for the parent license.
          nullable: true
        ChildLicenseActivations:
          type: integer
          description: Number of activations in child licenses.
          format: int32
          nullable: true
        PartnerStartDate:
          type: string
          description: Start date of the partner.
          format: date-time
          nullable: true
        Profile:
          type: object
          description: A dictionary of profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CreateModuleTrialResponseServiceModel_LicenseProfile'
        Customer:
          description: The customer associated to this license.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateModuleTrialResponseServiceModel_Customer'
    CreateModuleTrialResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information in a profile.
        additionalProperties: false
    CreateModuleTrialResponseServiceModel_Customer:
      type: object
      description: Response models for customers.
      additionalProperties: false
      properties:
        VendorCustomerCode:
          type: string
          description: Customer identifier.
          nullable: true
    CreateModuleTrialRequestServiceModel:
      type: object
      description: Request model for CreateModuleTrial.
      additionalProperties: false
      required:
      - Modules
      properties:
        Modules:
          type: array
          description: Modules (e.g. DNS Protection or WSAT) for which trial licenses should be created.
          items:
            $ref: '#/components/schemas/CreateModuleTrialRequestServiceModel_Module'
    CreateModuleTrialRequestServiceModel_Module:
      type: object
      description: Module information for CreateModuleTrialRequestServiceModel.
      additionalProperties: false
      required:
      - LicenseCategoryName
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have. If not specified, a default will be assumed based on the given keycode.
          format: int32
          nullable: true
        LicenseCategoryName:
          type: string
          description: "The category name of the license. \nPossible values are for example: SDNS, SECA, OTEDR, OTMDR, OTMDRC, OSBPB, OSBPH."
          minLength: 1
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR, OTMDR and OTMDRC). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and OTMDRC the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR/OTMDRC\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem."
          format: int32
          nullable: true
    CreateLicenseSyncResponseServiceModel:
      type: object
      description: Response model for synchronizing license updates with ecom.
      additionalProperties: false
      properties:
        LicenseServiceId:
          type: integer
          description: The license service ID associated with the license update.
          format: int32
          nullable: true
    CreateLicenseSyncRequestServiceModel:
      type: object
      description: Request model for synchronizing license updates with ecom.
      additionalProperties: false
      required:
      - LicenseCategoryName
      properties:
        LicenseCategoryName:
          type: string
          description: The license category associated with this item. If the value is different to the license category on the keycode, the license category of the keycode will be updated to the specified value. Please reach out to your e-commerce representative about which types of product category changes are allowed.
          minLength: 1
        LicenseSeats:
          type: integer
          description: If provided, updates the license seats to the specified value. Must be a positive value.
          format: int32
          nullable: true
        ExpirationDate:
          type: string
          description: If provided, updates the license expiration date to the specified value. Must be a valid date.
          format: date-time
          nullable: true
        LicenseDistributionMethodCode:
          type: string
          description: "If provided, updates the license distribution method to the specified value. \nPossible values are: ZARB, CARB."
          nullable: true
        CategoryTypeName:
          type: string
          description: "If provided, updates the license type to the specified value. \nPossible values are: trial, full."
          nullable: true
        Comment:
          type: string
          description: If provided, specifies the reason for the requested change(s).
          nullable: true
        LicenseStatusDescription:
          type: string
          description: Status of the license. If this property is provided, it must have the value "disabled" which disables the license. No other value is allowed.
          nullable: true
    GetPartnerDetailsServiceModel:
      type: object
      description: Response model for getting partner information.
      additionalProperties: false
      properties:
        PartnerName:
          type: string
          description: Name of the partner.
          nullable: true
        PartnerType:
          type: string
          description: "Specifies the type of partner. \nPossible values are: Direct, Channel."
          nullable: true
        TrialProducts:
          type: array
          description: List of trial products associated with the partner.
          nullable: true
          items:
            type: string
        PaidProducts:
          type: array
          description: List of paid products associated with the partner.
          nullable: true
          items:
            type: string
    VersionResponseModel:
      type: object
      description: Response model for querying version information.
      additionalProperties: false
      properties:
        ServiceInformation:
          description: Gets or sets the version details of the service application.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/VersionDetails'
        LoadedExtensions:
          type: array
          description: Gets or sets the version details of loaded service extensions.
          nullable: true
          items:
            $ref: '#/components/schemas/VersionDetails'
    VersionDetails:
      type: object
      description: Provides version information about an assembly module.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Gets the name of the module.
          nullable: true
        Company:
          type: string
          description: Gets the company name string of the module.
          nullable: true
        Product:
          type: string
          description: Gets the product name string of the module.
          nullable: true
        Copyright:
          type: string
          description: Gets the copyright string of the module.
          nullable: true
        Title:
          type: string
          description: Gets the title string of the module.
          nullable: true
        FileVersion:
          type: string
          description: Gets the file version string of the module.
          nullable: true
        Version:
          type: string
          description: Gets the module version string of the module.
          nullable: true
    GetEventTypesResponseModel:
      type: object
      description: Provides information about the available event types that can be subscribed to, including required scope permissions and domains.
      additionalProperties: false
      properties:
        Count:
          type: integer
          description: The total number of available event types.
          format: int32
        EventTypes:
          type: array
          description: The list of supported event types.
          nullable: true
          items:
            $ref: '#/components/schemas/GetEventTypesResponseModelEventType'
    GetEventTypesResponseModelEventType:
      type: object
      description: Provides details about an event type.
      additionalProperties: false
      properties:
        EventType:
          type: string
          description: The type name of the event.
          nullable: true
        Description:
          type: string
          description: The description of the event type.
          nullable: true
        Scopes:
          type: array
          description: The list of scopes associated with the event type. Your user needs to have access to at least one scope in order to be allowed to subsribe to events of this type.
          nullable: true
          items:
            type: string
        Domains:
          type: array
          description: The domains supported by the event type.
          nullable: true
          items:
            $ref: '#/components/schemas/GetEventTypesResponseModelEventTypeDomain'
    GetEventTypesResponseModelEventTypeDomain:
      type: object
      description: >-
        Provides details about the domains supported by the event type.


        Domains 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.


        Subscriptions 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*.


        Presented 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'
        EndpointDeviceInstalledEvent:
          description: Information about a event that is triggered when a product is installed on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/EndpointDeviceInstalledEventModel'
        WtsUrlActionEvent:
          description: Information about a Web Threat Shield event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/WtsUrlActionEventModel'
        BackupEvent:
          description: Information about a backup event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbBackupEventModel'
        RestoreEvent:
          description: Information about a restore event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbRestoreEventModel'
        AgentRegistrationEvent:
          description: Information about a agent registration event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbAgentRegistrationEventModel'
        AgentSettingsChangedEvent:
          description: Information about an agent settings changed event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbSettingsChangedEventModel'
        ResourceDeletedEvent:
          description: Information about a resource deleted event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbResourceDeletedEventModel'
    EndpointFileDetectionEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the Endpoint.FileDetection event type, based on the time when the event occurred.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          ScanInfo:
            description: Information about the type of scan which led to the detection.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/EndpointFileDetectionEventModelScanInfo'
          DetectionInfo:
            description: Information about the detection that occurred.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/EndpointFileDetectionEventModelDetectionInfo'
    EndpointFileDetectionEventModelScanInfo:
      type: object
      description: Provides details about the type of scan which led to the detection.
      additionalProperties: false
      properties:
        ScanId:
          type: string
          description: The unique identifier of the scan execution.
          nullable: true
        ScanType:
          type: string
          description: "The type code of scan that was carried out. Most common scan types for example are: \n- AL: Anti-Exploit learning scan\n- AM: Anti-Exploit meta scan\n- AR: Anti-Exploit realtime scan\n- AU: Anti-Exploit update scan\n- DS: WSA Deep Scan\n- FS: WSA fast scan\n- MS: WSA manual scan\n- QS: WSA quick scan\n- RT: WSA realtime scan"
          nullable: true
    EndpointFileDetectionEventModelDetectionInfo:
      type: object
      description: Provides details about the detection that occurred on an endpoint.
      additionalProperties: false
      properties:
        FileName:
          type: string
          description: The name of the detected file.
          nullable: true
        FilePath:
          type: string
          description: The path where the file was located on the endpoint.
          nullable: true
        FileSize:
          type: integer
          description: The size of the file, in bytes.
          format: int64
        FileMD5:
          type: string
          description: The MD5 hash of the file's content.
          nullable: true
        FileSHA256:
          type: string
          description: The SHA256 hash of the file's content.
          nullable: true
        Determination:
          type: string
          description: The Webroot classification of the file. Most common values in the context of the endpoint file detection event type will be "B" (Bad) or "U" (Undetermined).
          nullable: true
        MalwareGroup:
          type: string
          description: The malware group which the file was classified in.
          nullable: true
    NotificationEventModel:
      type: object
      description: Base model for notification events.
      additionalProperties: false
    EndpointDeviceInstalledEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides details about the installation of WSA/Genesis software on both PC and Mac.
        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
          DeviceInstalledInfo:
            description: Information about the installation of WSA/Genesis software on both PC and Mac.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/EndpointDeviceInstalledEventModelDeviceInstalledInfo'
    EndpointDeviceInstalledEventModelDeviceInstalledInfo:
      type: object
      description: Provides details about the device Installed event type, based on the endpoint when an event occur during an installation of WSA/Genesis software on both PC and Mac.
      additionalProperties: false
      properties:
        Product:
          type: string
          description: The product performing the installation.
          nullable: true
        Platform:
          type: string
          description: The platform in which the agent is being installed.
          nullable: true
        EventTime:
          type: string
          description: The date/time of the install.
          format: date-time
          nullable: true
        Trigger:
          type: string
          description: The triggering process within the agent.
          nullable: true
        SkyEventDate:
          type: string
          description: The SkyEventDate representing the date of the event.
          format: date-time
          nullable: true
    WtsUrlActionEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the WebThreatShield.UrlAction event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          BlockDetails:
            description: Information about the block action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/WtsUrlActionEventModelBlockDetails'
    WtsUrlActionEventModelBlockDetails:
      type: object
      description: Provides details about the actual block action.
      additionalProperties: false
      properties:
        ActionTaken:
          type: string
          description: "The action that was taken by Web Threat Shield and/or the user. Currently the following values are supported: \n- BLOCK: The user was blocked from visiting the URL.\n- RECLASSIFY: The user requested a review of the category and reputation of the URL.\n- WHITELIST: The user white-listed the URL."
          nullable: true
        BlockedUrl:
          type: string
          description: The URL that was blocked on the endpoint.
          nullable: true
        BlockReasonId:
          type: integer
          description: The BrightCloud category which caused Web Threat Shield to block the respective URL (e.g. 67). To view a list of all available web categories, visit this [BrightCloud page](https://www.brightcloud.com/tools/change-request.php#urlcategories).
          format: int32
          nullable: true
        BlockReasonName:
          type: string
          description: The name of the category specified by *BlockReasonId*, or "Low Reputation", if *BlockReasonId* is 0.
          nullable: true
        BCRI:
          type: integer
          description: "The BrightCloud Reputation Index (BCRI) value that caused Web Threat Shield to block the URL. The BrightCloud Reputation Index is a security related score which is based on BrightCloud intelligence for a given URL: 80-100 is trustworthy, 60-79 is low risk, 40-59 is moderate risk, 20-39 is suspicious and 0-19 is high risk. \n**Note: **The *BCRI* value may be null, if a URL is blocked via means of advanced in-place analysis instead of its URL reputation or category, or if *ActionTaken* is \"WHITELIST\"."
          format: int32
          nullable: true
    CrsbBackupEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the backup event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          BackupDetails:
            description: Information about the backup action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbBackupEventModelDetails'
    CrsbBackupEventModelDetails:
      type: object
      description: Provides details about the actual backup action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the backup event.
          nullable: true
        Date:
          type: string
          description: Backup event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        RealLocalTime:
          type: string
          description: The local time on the agent when the event occurred, in ISO8601 format.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event (may be empty for backup events).
          nullable: true
        BackupType:
          type: string
          description: Type of backup performed.
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        BackupDeviceName:
          type: string
          description: Friendly name of the backup device.
          nullable: true
        BackupLocation:
          type: string
          description: Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).
          nullable: true
        BackupJobId:
          type: string
          description: Unique identifier for the backup job.
          nullable: true
        RetentionModel:
          type: string
          description: Retention model used for the backup (e.g., Custom, Standard).
          nullable: true
        RPRealLocalTime:
          type: string
          description: Local time (ISO8601) when the backup started on the agent.
          nullable: true
        RPId:
          type: string
          description: Restore point identifier, available only if backup completed partially or successfully.
          nullable: true
        TimeElapsedSec:
          type: integer
          description: Time taken for the backup operation, in seconds.
          format: int32
        LogLocation:
          type: string
          description: File system location of the backup logs.
          nullable: true
        ProtectedSizeBytes:
          type: integer
          description: Total size of the data protected in bytes.
          format: int64
        DeltaSizeBytes:
          type: integer
          description: Size of the delta (incremental) data backed up in bytes.
          format: int64
        TransmittedSizeBytes:
          type: integer
          description: Size of the data transmitted during backup in bytes.
          format: int64
        Status:
          type: string
          description: Status of the backup operation.
          nullable: true
        StatusReason:
          type: string
          description: Reason for the backup status, if applicable.
          nullable: true
    CrsbRestoreEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the restore event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          RestoreDetails:
            description: Information about the restore action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbRestoreEventModelDetails'
    CrsbRestoreEventModelDetails:
      type: object
      description: Provides details about the actual restore action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the restore event.
          nullable: true
        Date:
          type: string
          description: Restore event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        RealLocalTime:
          type: string
          description: The local time on the agent when the event occurred, in ISO8601 format.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event (may be empty for restore events).
          nullable: true
        RecoveryType:
          type: string
          description: Type of restore performed.
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        BackupDeviceName:
          type: string
          description: Friendly name of the backup device.
          nullable: true
        BackupLocation:
          type: string
          description: Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).
          nullable: true
        BackupVolumeName:
          type: string
          description: Root path where the backup was stored.
          nullable: true
        DestinationVolumeName:
          type: string
          description: Root path of the destination where the backup was stored.
          nullable: true
        BackupJobId:
          type: string
          description: Unique identifier for the backup job.
          nullable: true
        RPRealLocalTime:
          type: string
          description: Local time (ISO8601) when the restore started on the agent.
          nullable: true
        RealLocalTimeStarted:
          type: string
          description: Local time when the restore started.
          nullable: true
        RPId:
          type: string
          description: Restore point identifier, available only if restore completed partially or successfully.
          nullable: true
        TimeElapsedSec:
          type: integer
          description: Time taken for the restore operation, in seconds.
          format: int32
        LogLocation:
          type: string
          description: File system location of the restore logs.
          nullable: true
        RecoveredSizeBytes:
          type: integer
          description: Total size of the data successfully restored during the restore operation in bytes.
          format: int64
        TransmittedSizeBytes:
          type: integer
          description: Size of the data transmitted during backup in bytes.
          format: int64
        Status:
          type: string
          description: Status of the restore operation.
          nullable: true
        StatusReason:
          type: string
          description: Reason for the restore status, if applicable.
          nullable: true
    CrsbAgentRegistrationEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the agent registration event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          AgentRegistrationDetails:
            description: Information about the agent registration action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbAgentRegistrationEventModelDetails'
    CrsbAgentRegistrationEventModelDetails:
      type: object
      description: Provides details about the actual agent registration action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the agent registration event.
          nullable: true
        Date:
          type: string
          description: Agent registration event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        Status:
          type: string
          description: Status of the agent registration operation.
          nullable: true
    CrsbSettingsChangedEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the agent settings changed event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          AgentSettingsChangedDetails:
            description: Information about the agent settings changed action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbSettingsChangedEventModelDetails'
    CrsbSettingsChangedEventModelDetails:
      type: object
      description: Provides details about the actual agent settings changed action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the agent settings changed event.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event.
          nullable: true
        Date:
          type: string
          description: Agent setting changed event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the agent settings changed device.
          nullable: true
        Setting:
          type: string
          description: Setting changed during the agent operation (e.g., Password).
          nullable: true
        Status:
          type: string
          description: Status of the settings changed operation (e.g., Completed).
          nullable: true
    CrsbResourceDeletedEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the resource deleted event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          ResourceDeletedDetails:
            description: Information about the resource delete action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbResourceDeletedEventModelDetails'
    CrsbResourceDeletedEventModelDetails:
      type: object
      description: Provides details about the actual resource delete action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the resource deleted event.
          nullable: true
        UserId:
          type: string
          description: >-
            Identifier of the user who initiated the resource delete action.


            Optional (set only if it is user initiated).
          nullable: true
        Date:
          type: string
          description: Date and time of the event in Unix epoch format (UTC).
          format: date-time
          nullable: true
        DeletionUtcTime:
          type: string
          description: >-
            Date and time for the resource deleted event in Unix epoch format (UTC).


            Optional (only set when Status = Scheduled).
          format: date-time
          nullable: true
        ResourceId:
          type: string
          description: Identifier for the resource id to be deleted (e.g., AgentId, SiteID, RPName).
          nullable: true
        ResourceType:
          type: string
          description: Identifier for the resource type (e.g., Agent, Site).
          nullable: true
        Status:
          type: string
          description: Status of the resource deleted operation (e.g., Scheduled, Deleted, Cancelled).
          nullable: true
        DeleteReason:
          type: string
          description: Reason for deletion.
          nullable: true
    FetchSubscriptionNotificationsResponseModelBase:
      type: object
      description: Base class for providing information about the latest notifications for a subscription.
      additionalProperties: false
      properties:
        SubscriptionId:
          type: string
          description: The identifier of the subscription the notifications are associated with.
          nullable: true
        Count:
          type: integer
          description: The number of notifications fetched.
          format: int32
        NextPosition:
          type: string
          description: >-
            The position to specify in follow-up requests for retrieving additional available notifications.


            In 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.


            Required, 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.


        Domains 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.


            Must 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.


        Values 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.


            Required, 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.


            Must be 0 or a number between 5 and 3600. Default value is 60.
          format: int32
          nullable: true
        DeliveryUrl:
          type: string
          description: "The URL of a publicly accessible API function (the webhook) which should be called by Unity API to confirm the webhook subscription and to inform about the availability of new notifications **(must be an HTTPS endpoint with a fully qualified domain name and a valid certificate)**. \n**Note:** When changing this value, the provided web address will be called with a *Type* value of \"Validation\". For the edit subscription request to succeed, the webhook has to respond successfully with the *ValidationResponse* set to the *ValidationContext* value provided in the webhook call. See the related [webhook section](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications-delivery-webhook) in the Notifications Guide for more information.\n\nRequired (when changing from a non-webhook to a webhook-based subscription)"
          format: uri
          nullable: true
    GetAllCustomersResponseModel:
      type: object
      description: Provides information about a list of customers.
      additionalProperties: false
      properties:
        Customers:
          type: array
          description: List of customer detail records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetCustomerResponseModel'
        Links:
          description: Pagination information.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetAllCustomersResponseModelPageLinks'
        Meta:
          description: Additional information of the response.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetAllCustomersResponseModelPageMeta'
    GetCustomerResponseModel:
      allOf:
      - $ref: '#/components/schemas/BaseCustomerAttributeModel'
      - type: object
        description: Provides details about an end customer.
        additionalProperties: false
        properties:
          CustomerId:
            type: string
            description: Unique guid of the customer.
            nullable: true
          CustomerNumber:
            type: string
            description: Unique number associated with the customer.
            nullable: true
          Currency:
            type: string
            description: Currency code selected by the customer.
            nullable: true
          CustomerSince:
            type: string
            description: Timestamp indicating when the customer was created in OpenText Secure Cloud.
            format: date-time
          IsClosed:
            type: boolean
            description: Indicates whether the customer's account is closed.
    BaseCustomerAttributeModel:
      type: object
      description: Provides details about an end customer.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Name of the customer.
          nullable: true
        CustomerType:
          type: string
          description: 'Type of the customer. For example: *Resold*, *Direct*, *Partner*, *Referred*.'
          nullable: true
        AddressLine1:
          type: string
          description: Part one of the street address.
          nullable: true
        AddressLine2:
          type: string
          description: Part two of the street address that indicates a suite, floor, or specific location.
          nullable: true
        StateOrProvince:
          type: string
          description: State or province of the customer.
          nullable: true
        Country:
          type: string
          description: Country code of the customer.
          nullable: true
        Municipality:
          type: string
          description: Municipality of the customer location.
          nullable: true
        PostalCode:
          type: string
          description: Postal code of the customer's location.
          nullable: true
        Website:
          type: string
          description: Customer's domain/website URI.
          nullable: true
        Industry:
          type: string
          description: "Customer's industry sector. For example: *Accounting*, *Banking* etc."
          nullable: true
        Culture:
          type: string
          description: 'Desired language for UI and reports. For example: *en-US*, *es-ES*, *de-DE*.'
          nullable: true
        TimeZone:
          type: string
          description: Timezone of the customer.
          nullable: true
        ExternalCustomerAccountNumber:
          type: string
          description: Identifier of the customer in systems external to OpenText Secure Cloud.
          nullable: true
        AutoConvertTrials:
          type: boolean
          description: Indicates whether to automatically convert trial subscriptions to paid ones when they expire. Valid values are *true*, *false*.
    GetAllCustomersResponseModelPageLinks:
      allOf:
      - $ref: '#/components/schemas/PageLinks'
      - type: object
        description: Pagination information.
        additionalProperties: false
    PageLinks:
      type: object
      description: Pagination information.
      additionalProperties: false
      properties:
        NextPageLimit:
          type: integer
          description: Specifies the number of entries returned per request. Valid values range from 10 to 1000.
          format: int32
          nullable: true
        NextPageOffset:
          type: integer
          description: Indicates the starting position for retrieving the next set of results in pagination.
          format: int32
          nullable: true
    GetAllCustomersResponseModelPageMeta:
      allOf:
      - $ref: '#/components/schemas/PageMeta'
      - type: object
        description: Additional information of the response.
        additionalProperties: false
    PageMeta:
      type: object
      description: Additional information of the response.
      additionalProperties: false
      properties:
        Page:
          description: Defines page details.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/Page'
    Page:
      type: object
      description: Defines page details.
      additionalProperties: false
      properties:
        Total:
          type: integer
          description: Total number of records available in the response.
          format: int32
    CreateCustomerUserResponseModel:
      type: object
      description: Information about the user to be created for a customer.
      additionalProperties: false
      properties:
        UserId:
          type: string
          description: Unique identifier for a new user generated in OpenText Secure Cloud platform.
          nullable: true
        Message:
          type: string
          description: >-
            Additional information received during user creation.


            This field is applicable only when the http status code is 200.
          nullable: true
        UserConfigurations:
          type: array
          description: >-
            Services information for a user.


            This field is applicable only when the http status code is 200.
          nullable: true
          items:
            $ref: '#/components/schemas/UserService'
    UserService:
      allOf:
      - $ref: '#/components/schemas/BaseUserService'
      - type: object
        description: Services for the user. The user’s customer must have an active subscription for the service.
        additionalProperties: false
        properties:
          ServiceConfiguration:
            type: array
            description: List of service configuration information.
            nullable: true
            items:
              $ref: '#/components/schemas/UserServiceServiceConfiguration'
    UserServiceServiceConfiguration:
      allOf:
      - $ref: '#/components/schemas/ServiceConfigurationEntry'
      - type: object
        description: List of service configuration information.
        additionalProperties: false
    ServiceConfigurationEntry:
      type: object
      description: Settings for a user's services. No settings are available for *Email Continuity Services*, *Secure File Sharing*, *Email Message Privacy* or *Backup Administrator*.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Name of the service configuration.
          nullable: true
        Value:
          type: array
          description: Values of the service configuration.
          nullable: true
          items:
            type: string
    BaseUserService:
      type: object
      description: Service details.
      additionalProperties: false
      properties:
        ServiceName:
          type: string
          description: 'Services that can be enabled for a user. Valid services are: *Email Threat Protection*, *Email Continuity Services*, *Secure File Sharing*, *Email Message Privacy*, *Backup Administrator*, *Exchange* and *Office365*.'
          nullable: true
    CreateCustomerUserRequestModel:
      type: object
      description: Request model to create a new end customer's user.
      additionalProperties: false
      required:
      - FirstName
      - LastName
      - EmailAddress
      properties:
        FirstName:
          type: string
          description: First name of the user. The first name can have a maximum of 50 characters.
          maxLength: 50
          minLength: 1
        LastName:
          type: string
          description: Last name of the user. The last name can have a maximum of 50 characters.
          maxLength: 50
          minLength: 1
        PhoneNumber:
          type: string
          description: Phone number of the user. The phone number can have a maximum of 50 characters.
          maxLength: 50
          nullable: true
        EmailAddress:
          type: string
          description: Email address of the user.
          minLength: 1
        Roles:
          type: array
          description: "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges."
          nullable: true
          items:
            type: string
        UserServices:
          type: array
          description: Services information for the user.
          nullable: true
          items:
            $ref: '#/components/schemas/UserService'
        SendWelcomeEmail:
          type: boolean
          description: Indicates whether a welcome email should be sent to the user.
    UpdateCustomerUserResponseModel:
      type: object
      description: Additional information received while updating the user.
      additionalProperties: false
      properties:
        Message:
          type: string
          description: Additional information received while updating the user.
          nullable: true
    UpdateCustomerUserRequestModel:
      type: object
      description: Request Model to update a end customer's user.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: First name of the user. The first name can have a maximum of 50 characters.
          maxLength: 50
          nullable: true
        LastName:
          type: string
          description: Last name of the user. The last name can have a maximum of 50 characters.
          maxLength: 50
          nullable: true
        PhoneNumber:
          type: string
          description: Phone number of the user. The phone number can have a maximum of 50 characters.
          maxLength: 50
          nullable: true
        Roles:
          type: array
          description: "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges."
          nullable: true
          items:
            type: string
    GetAllCustomerUsersResponseModel:
      type: object
      description: Information about a list of users.
      additionalProperties: false
      properties:
        Users:
          type: array
          description: List of user detail records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetUserResponseModel'
        Links:
          description: Pagination information.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetAllCustomerUsersResponseModelPageLinks'
        Meta:
          description: Additional information of the response.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/GetAllCustomerUsersResponseModelPageMeta'
    GetUserResponseModel:
      allOf:
      - $ref: '#/components/schemas/BaseCustomerUserAttributeModel'
      - type: object
        description: Provides details about a user.
        additionalProperties: false
        properties:
          UserId:
            type: string
            description: Unique identifier of a user.
            nullable: true
          Culture:
            type: string
            description: Culture or language of the user.
            nullable: true
          UserServices:
            type: array
            description: List of services configured for a user.
            nullable: true
            items:
              $ref: '#/components/schemas/GetUserResponseModelUserService'
    GetUserResponseModelUserService:
      allOf:
      - $ref: '#/components/schemas/BaseUserService'
      - type: object
        description: Services configured for a user.
        additionalProperties: false
    BaseCustomerUserAttributeModel:
      type: object
      description: Provides details about a user.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: First name of the user.
          nullable: true
        LastName:
          type: string
          description: Last name of the user.
          nullable: true
        PhoneNumber:
          type: string
          description: Phone number of the user.
          nullable: true
        EmailAddress:
          type: string
          description: Email address of the user.
          nullable: true
        Roles:
          type: array
          description: "Roles assignable to the user. User roles are listed in order of privilege, from highest to lowest.  \nValid Roles for a Partner Customer: \n- Partner\\_Administrator\n- Partner\\_Sales\n- Partner\\_Support\n- Customer\\_Administrator\n- Billing\n\nValid Role for a Resold Customer:\n- Customer\\_Administrator\n\nDefault Access:  \nIf no role is specified, the user is granted access only to their own services, without any administrative privileges."
          nullable: true
          items:
            type: string
    GetAllCustomerUsersResponseModelPageLinks:
      allOf:
      - $ref: '#/components/schemas/PageLinks'
      - type: object
        description: Pagination information.
        additionalProperties: false
    GetAllCustomerUsersResponseModelPageMeta:
      allOf:
      - $ref: '#/components/schemas/PageMeta'
      - type: object
        description: Additional information of the response.
        additionalProperties: false
    GetCustomerUserResponseModel:
      allOf:
      - $ref: '#/components/schemas/BaseCustomerUserWithServicesAttributeModel'
      - type: object
        description: Provides details about a user.
        additionalProperties: false
        properties:
          UserId:
            type: string
            description: Unique identifier of a user.
            nullable: true
          Culture:
            type: string
            description: Culture or language of the user.
            nullable: true
    BaseCustomerUserWithServicesAttributeModel:
      allOf:
      - $ref: '#/components/schemas/BaseCustomerUserAttributeModel'
      - type: object
        description: Provides details about a user along with services.
        additionalProperties: false
        properties:
          UserServices:
            type: array
            description: Services information for the user.
            nullable: true
            items:
              $ref: '#/components/schemas/UserService'
    UpdateUserServicesResponseModel:
      type: object
      description: Additional information received while updating user services for the user.
      additionalProperties: false
      properties:
        Message:
          type: string
          description: Additional information received while updating user services for the user.
          nullable: true
        UserConfigurations:
          type: array
          description: >-
            Services information for a user.


            This field is returned only when the service configuration has been updated with differences from the request defined.
          nullable: true
          items:
            $ref: '#/components/schemas/UserService'
    UpdateUserServicesRequestModel:
      type: object
      description: Service and service configuration about the user to be updated.
      additionalProperties: false
      properties:
        UserServices:
          type: array
          description: Services information for the user.
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateUserServiceRequestModelService'
    UpdateUserServiceRequestModelService:
      allOf:
      - $ref: '#/components/schemas/UserService'
      - type: object
        description: Services information for the user.
        additionalProperties: false
        properties:
          RemoveService:
            type: boolean
            description: >-
              Indicates whether the service should be removed. If set to true, any provided service configuration is ignored. If omitted or set to false, the service will be created or updated based on the provided configuration.


              Default is set to false if not specified.
    GetAllCustomerUserServicesResponseModel:
      type: object
      description: List of services available for an end customer.
      additionalProperties: false
      properties:
        Services:
          type: array
          description: List of services available for an end customer.
          nullable: true
          items:
            $ref: '#/components/schemas/GetAllCustomerUserServicesResponseModelService'
        ConfigurationReferences:
          type: array
          description: Common properties across the service configurations where the config value is derived.
          nullable: true
          items:
            $ref: '#/components/schemas/GetAllCustomerUserResponseModelConfigurationReference'
    GetAllCustomerUserServicesResponseModelService:
      type: object
      description: Services available for an end customer.
      additionalProperties: false
      properties:
        ServiceName:
          type: string
          description: Name of the service. For example, *Email Threat Protection*.
          nullable: true
        ProductName:
          type: string
          description: Name of the Product as it appears on the bill. For example, *Advanced Email Threat Protection*.
          nullable: true
        Domain:
          type: string
          description: Primary domain of the subscription. A domain value is not returned if the subscription does not require a domain.
          nullable: true
        Aliases:
          type: array
          description: Domain aliases or additional domains for the subscription.
          nullable: true
          items:
            type: string
        ServiceConfigurationProperties:
          type: array
          description: Service configuration for the products.
          nullable: true
          items:
            $ref: '#/components/schemas/UserServiceConfiguration'
    UserServiceConfiguration:
      type: object
      description: List of service configuration properties can be enabled for a user.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Name of the service configuration.
          nullable: true
        Value:
          type: array
          description: 'Values of the service configuration. Note: Either *Value* or *Reference* field contains possible values.'
          nullable: true
          items:
            type: string
        Type:
          type: string
          description: Type of the service configuration value.
          nullable: true
        Reference:
          type: string
          description: Name of the key from where the config values can be derived.
          nullable: true
    GetAllCustomerUserResponseModelConfigurationReference:
      type: object
      description: Common properties across the service configurations where the config value is derived.
      additionalProperties: false
      properties:
        ReferenceName:
          type: string
          description: Links the service name to the respective reference properties.
          nullable: true
        ReferenceValues:
          type: array
          description: Reference values associated with a service configuration.
          nullable: true
          items:
            type: string
    GetAllSubscriptionResponseModel:
      type: object
      description: List of subscriptions available for the customer.
      additionalProperties: false
      properties:
        Subscriptions:
          type: array
          description: List of subscriptions available for the customer.
          nullable: true
          items:
            $ref: '#/components/schemas/SubscriptionDetailModel'
    SubscriptionDetailModel:
      allOf:
      - $ref: '#/components/schemas/BaseSubscriptionModel'
      - type: object
        description: Information about customer subscription.
        additionalProperties: false
    BaseSubscriptionModel:
      type: object
      description: Information about customer subscription.
      additionalProperties: false
      properties:
        SubscriptionKey:
          type: string
          description: Unique identifier of the subscription.
          nullable: true
        ProductName:
          type: string
          description: Name of the product.
          nullable: true
        Categories:
          type: array
          description: Categories associated with the product.
          nullable: true
          items:
            type: string
        Domain:
          type: string
          description: Primary domain of the subscription. If the subscription does not require a domain, a domain value is not returned.
          nullable: true
        Aliases:
          type: array
          description: Domain aliases or additional domains for the subscription.
          nullable: true
          items:
            type: string
        IsTrial:
          type: boolean
          description: 'Indicates whether the subscription is a trial. Valid values are: *True*, *False*.'
        SubscriptionTerm:
          type: string
          description: 'Term of the subscription. Valid values are: *Monthly*, *Quarterly*, *Biannual*, *Annual*, *Triennial*.'
          nullable: true
        BillingFrequency:
          type: string
          description: 'Frequency of billing the customer for the subscription. Valid values are: *Monthly*, *Quarterly*, *Biannual*, *Annual*, *Triennial*.'
          nullable: true
        ExpirationBehavior:
          type: string
          description: 'Action that occurs when the subscription expires. Valid values are: *None*, *AutoRenew*, *AutoConvert*.'
          nullable: true
        SubscriptionStatus:
          type: string
          description: 'Status of the subscription. Valid values are: *Active*, *Trial*, *Installing*, *Not Installed*, *Scheduled to Uninstall*, *Uninstalling*, *Cancelled*, *Suspending*, *Suspended*.'
          nullable: true
        StartDate:
          type: string
          description: Start date of the subscription.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: End date of the subscription.
          format: date-time
          nullable: true
        CancellationDate:
          type: string
          description: Date when the subscription was cancelled.
          format: date-time
          nullable: true
        CancellationGracePeriod:
          type: integer
          description: Number of days after the cancellation date when the subscription will be uninstalled, if it is not renewed or cancelled.
          format: int32
        ScheduledUninstallDate:
          type: string
          description: Date when the subscription is scheduled to be uninstalled.
          format: date-time
          nullable: true
        AvailableActions:
          description: Available actions for the subscription.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AvailableSubscriptionActions'
    AvailableSubscriptionActions:
      type: object
      description: List of actions available for subscriptions.
      additionalProperties: false
      properties:
        CanCancel:
          type: boolean
          description: 'Indicates whether the subscription can be cancelled. Valid values are: *True*, *False*.'
        CanConfigure:
          type: boolean
          description: 'Indicates whether the subscription can be configured. Valid values are: *True*, *False*.'
        CanRestore:
          type: boolean
          description: 'Indicates whether the subscription can be restored to Active status. Valid values are: *True*, *False*.'
        CanSuspend:
          type: boolean
          description: 'Indicates whether the subscription can be suspended. Valid values are: *True*, *False*.'
        CanUpgrade:
          type: boolean
          description: 'Indicates whether the subscription can be upgraded. Valid values are: *True*, *False*.'
        CanDowngrade:
          type: boolean
          description: 'Indicates whether the subscription can be downgraded. Valid values are: *True*, *False*.'
    GetSubscriptionDetailResponseModel:
      allOf:
      - $ref: '#/components/schemas/SubscriptionDetailModel'
      - type: object
        description: Provides detail of a subscription.
        additionalProperties: false
        properties:
          ConfigurableSubscriptionDetails:
            type: array
            description: Set of properties that can be changed for the subscription.
            nullable: true
            items:
              $ref: '#/components/schemas/ConfigurableSubscriptionDetail'
          ReadonlySubscriptionDetails:
            type: array
            description: Set of properties that were configured for the subscription and cannot be changed.
            nullable: true
            items:
              $ref: '#/components/schemas/ReadonlySubscriptionDetail'
    ConfigurableSubscriptionDetail:
      allOf:
      - $ref: '#/components/schemas/ConfigurableSubscriptionDetailProperty'
      - type: object
        description: Set of properties that can be changed for the subscription.
        additionalProperties: false
    ConfigurableSubscriptionDetailProperty:
      type: object
      description: Request Model to update a customer's subscription.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Name of the subscription property.
          nullable: true
        Value:
          type: string
          description: Value of the subscription property.
          nullable: true
    ReadonlySubscriptionDetail:
      type: object
      description: Set of properties that were configured for the subscription and cannot be changed.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Name of the subscription property.
          nullable: true
        Value:
          type: string
          description: Value of the subscription property.
          nullable: true
    UpdateSubscriptionResponseModel:
      type: object
      description: Information received after updating the subscription.
      additionalProperties: false
      properties:
        Message:
          type: string
          description: Information received after updating the subscription.
          nullable: true
    UpdateSubscriptionRequestModel:
      type: object
      description: Request Model to update a customer's subscription.
      additionalProperties: false
      properties:
        ConfigurableSubscriptionDetails:
          type: array
          description: Set of subscription properties that can be updated. Each subscription property consists of a name/value pair.
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateConfigurableSubscriptionDetail'
    UpdateConfigurableSubscriptionDetail:
      allOf:
      - $ref: '#/components/schemas/ConfigurableSubscriptionDetailProperty'
      - type: object
        description: Set of properties that can be changed for the subscription.
        additionalProperties: false
    SubscriptionChargesResponseModel:
      type: object
      description: Defines subscription charges events attributes, product, partner, subscription, customer and billing account associated with the subscription charge. It also includes paging information.
      additionalProperties: false
      properties:
        Data:
          type: array
          description: Provides information associated with the subscription charge.
          nullable: true
          items:
            $ref: '#/components/schemas/SubscriptionChargesResult'
        Links:
          description: Page details.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesLinks'
        Meta:
          description: Total number of records associated with the subscription charge result.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesPageMeta'
    SubscriptionChargesResult:
      type: object
      description: Result contains the subscription charges attributes, product, partner, subscription, customer and billing account associated with the subscription charges.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*
          nullable: true
        Id:
          type: string
          description: Unique identifier of the data associated with the subscription charge.
          nullable: true
        Attributes:
          description: >-
            Contains subscription charge fields/properties.


            Properties are optional, depends on the fields requested.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesAttributes'
        Relationships:
          description: Product, partner, subscription, customer and billing account associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ChargesRelationships'
    SubscriptionChargesAttributes:
      type: object
      description: Subscription charges fields/properties.
      additionalProperties: false
      properties:
        ChargeCode:
          type: string
          description: Unique identifier of the charge.
          nullable: true
        ChargeName:
          type: string
          description: Name of the subscription charge.
          nullable: true
        ChargeType:
          type: string
          description: Type of charge. Valid values are:*Recurring* and *One-Time*.
          nullable: true
        ProductName:
          type: string
          description: Name of the product associated with the charge.
          nullable: true
        ProductType:
          type: string
          description: Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.
          nullable: true
        BillableItem:
          type: string
          description: Usage counter for determining the number of units for the charge.
          nullable: true
        Price:
          type: number
          description: Unit price.
          format: double
          nullable: true
        TermPrice:
          type: number
          description: Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.
          format: double
          nullable: true
        Currency:
          type: string
          description: Currency for reporting the charge, for example, *USD*.
          nullable: true
        Quantity:
          type: integer
          description: Number of units for the charge.
          format: int32
          nullable: true
        Total:
          type: number
          description: Total charge amount.
          format: double
          nullable: true
        Description:
          type: string
          description: Description of the charge.
          nullable: true
        SubscriptionStartDate:
          type: string
          description: Start date of the subscription.
          format: date-time
          nullable: true
        SubscriptionCanceled:
          type: boolean
          description: 'Indicates whether the subscription was canceled. Valid values are: *true* and *false*.'
          nullable: true
        SubscriptionCanceledDate:
          type: string
          description: Date when the subscription was canceled.
          format: date-time
          nullable: true
        InitialTerm:
          type: integer
          description: First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.
          format: int32
          nullable: true
        CurrentTerm:
          type: integer
          description: Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.
          format: int32
          nullable: true
        CommitmentTerm:
          type: integer
          description: For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.
          format: int32
          nullable: true
        TermStartDate:
          type: string
          description: Start date of the current subscription.
          format: date-time
          nullable: true
        TermEndDate:
          type: string
          description: End date of the current subscription.
          format: date-time
          nullable: true
        IsTrial:
          type: boolean
          description: 'Indicates whether the subscription is a trial. Valid values are: *true* and *false*.'
          nullable: true
        IsAutoRenew:
          type: boolean
          description: 'Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.'
          nullable: true
        EffectiveDate:
          type: string
          description: Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: End date of the subscription.
          format: date-time
          nullable: true
        CustomerName:
          type: string
          description: Name of the customer.
          nullable: true
        CustomerType:
          type: string
          description: 'Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.'
          nullable: true
    ChargesRelationships:
      type: object
      description: Defines product, partner, subscription, customer and billing account associated with the subscription charge.
      additionalProperties: false
      properties:
        Product:
          description: Product associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesProduct'
        Partner:
          description: Partner associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesPartner'
        Subscription:
          description: Subscription associated with the charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesSubscription'
        Customer:
          description: Customer associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesCustomer'
        BillToAccount:
          description: Account that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesBillToAccount'
    SubscriptionChargesProduct:
      type: object
      description: Defines product associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Product's information  associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesData'
    SubscriptionChargesData:
      type: object
      description: Defines product, partner, subscription, customer and billing account associated with the subscription charge.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*
          nullable: true
        Id:
          type: string
          description: Unique identifier of the data associated with the subscription charge.
          nullable: true
        Meta:
          description: Account number that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesMeta'
    SubscriptionChargesMeta:
      type: object
      description: Result contains information such as customer number/ bill to account number.
      additionalProperties: false
      properties:
        CustomerNumber:
          type: string
          description: Customer number associated with the subscription charge.
          nullable: true
        BillToAccountNumber:
          type: string
          description: Account number that the subscription charge is billed to.
          nullable: true
    SubscriptionChargesPartner:
      type: object
      description: Defines partner associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Partner's information associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesData'
    SubscriptionChargesSubscription:
      type: object
      description: Defines subscription associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Subscription charge's information events associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesData'
    SubscriptionChargesCustomer:
      type: object
      description: Defines customer associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Records for customer associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesData'
    SubscriptionChargesBillToAccount:
      type: object
      description: Account that the subscription charge is billed to.
      additionalProperties: false
      properties:
        Data:
          description: Records for account that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesData'
    SubscriptionChargesLinks:
      type: object
      description: Contains page information.
      additionalProperties: false
      properties:
        NextPageLimit:
          type: integer
          description: Next page limit.
          format: int32
          nullable: true
        NextPageOffset:
          type: integer
          description: Next page offset.
          format: int32
          nullable: true
    SubscriptionChargesPageMeta:
      type: object
      description: Defines total number of records associated with the subscription charge.
      additionalProperties: false
      properties:
        Page:
          description: Indicates the total number of records with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesPage'
    SubscriptionChargesPage:
      type: object
      description: Defines page details.
      additionalProperties: false
      properties:
        Total:
          type: integer
          description: Total number of pages.
          format: int32
          nullable: true
    SubscriptionChargesRequestModel:
      type: object
      description: Defines sort order, filters and fields for charges event included in the response.
      additionalProperties: false
      properties:
        SubscriptionChargesFilterFields:
          description: >-
            Defines the charges filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *"IsTrail": "eq:true"*.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesFilterFields'
        Sorting:
          description: >-
            Controls the sort order of the charges in the response. Multiple parameters can be specified, for example, *{"IsTrial": "Ascending"}*.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ChargesSorting'
        Fields:
          description: >-
            Defines the fields to be included in the response. (Optional, multiple parameters can be added).The parameter is case-insensitive. For example: *"IsTrial", "chargeCode"*. If it is omitted, the response will include all possible fields by default.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ChargesFields'
    SubscriptionChargesFilterFields:
      type: object
      description: 'Defines the charges filter fields.Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *"IsTrail": "eq:true"*.'
      additionalProperties: false
      properties:
        Id:
          type: string
          description: >-
            Unique identifier of the subscription charge. This id is generated by OpenText Secure Cloud.


            Optional
          nullable: true
        ChargeCode:
          type: string
          description: >-
            Unique identifier of the charge.


            Optional
          nullable: true
        ChargeName:
          type: string
          description: >-
            Name of the subscription charge.


            Optional
          nullable: true
        ChargeType:
          type: string
          description: >-
            Type of charge. Valid values are:*Recurring* and *One-Time*em.


            Optional
          nullable: true
        ProductName:
          type: string
          description: >-
            Name of the product associated with the charge.


            Optional
          nullable: true
        ProductType:
          type: string
          description: >-
            Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.


            Optional
          nullable: true
        BillableItem:
          type: string
          description: >-
            Usage counter for determining the number of units for the charge.


            Optional
          nullable: true
        Price:
          type: string
          description: >-
            Unit price.


            Optional
          nullable: true
        TermPrice:
          type: string
          description: >-
            Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.


            Optional
          nullable: true
        Currency:
          type: string
          description: >-
            Currency for reporting the charge, for example, *USD*.


            Optional
          nullable: true
        Quantity:
          type: string
          description: >-
            Number of units for the charge.


            Optional
          nullable: true
        Total:
          type: string
          description: >-
            Total charge amount.


            Optional
          nullable: true
        Description:
          type: string
          description: >-
            Description of the charge.


            Optional
          nullable: true
        SubscriptionStartDate:
          type: string
          description: >-
            Start date of the subscription.


            Optional
          nullable: true
        SubscriptionCanceled:
          type: string
          description: >-
            Indicates whether the subscription was canceled. Valid values are: *true* and *false*.


            Optional
          nullable: true
        SubscriptionCanceledDate:
          type: string
          description: >-
            Date when the subscription was canceled.


            Optional
          nullable: true
        InitialTerm:
          type: string
          description: >-
            First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.


            Optional
          nullable: true
        CurrentTerm:
          type: string
          description: >-
            Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.


            Optional
          nullable: true
        CommitmentTerm:
          type: string
          description: >-
            For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.


            Optional
          nullable: true
        TermStartDate:
          type: string
          description: >-
            Start date of the current subscription.


            Optional
          nullable: true
        TermEndDate:
          type: string
          description: >-
            End date of the current subscription.


            Optional
          nullable: true
        IsTrial:
          type: string
          description: >-
            Indicates whether the subscription is a trial. Valid values are: *true* and *false*.


            Optional
          nullable: true
        IsAutoRenew:
          type: string
          description: >-
            Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.


            Optional
          nullable: true
        EffectiveDate:
          type: string
          description: >-
            Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.


            Optional
          nullable: true
        EndDate:
          type: string
          description: >-
            End date of the subscription.


            Optional
          nullable: true
        CustomerName:
          type: string
          description: >-
            Name of the customer.


            Optional
          nullable: true
        CustomerType:
          type: string
          description: >-
            Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.


            Optional
          nullable: true
        ProductId:
          type: string
          description: >-
            Unique identifier of the product data associated with the subscription charge.


            Optional
          nullable: true
        PartnerId:
          type: string
          description: >-
            Unique identifier of the partner data associated with the subscription charge.


            Optional
          nullable: true
        SubscriptionId:
          type: string
          description: >-
            Unique identifier of the subscription data associated with the subscription charge.


            Optional
          nullable: true
        CustomerId:
          type: string
          description: >-
            Unique identifier of the customer data associated with the subscription charge.


            Optional
          nullable: true
        BillToAccountId:
          type: string
          description: >-
            Unique identifier of the "bill to account" associated with the subscription charge.


            Optional
          nullable: true
    ChargesSorting:
      type: object
      description: Class Used for sorting using Fields available to sort.
      additionalProperties: false
      properties:
        Parameters:
          type: object
          description: "Dictionary consists of key/value pairs. Keys represent field names and values define the sort order (*ascending* or *descending*).  \nKey is case insensitive.\n\nCharge sorting parameters is one or more of these fields:   \n*ChargeCode, CustomerName, CustomerType, ChargeName, IsTrial, IsAutoRenew, EffectiveDate, EndDate, ChargeType, ProductName, ProductType, BillableItem, Price, TermPrice, Currency, Quantity, Total, Description, SubscriptionStartDate, SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate.*  \nSort order is either \"Ascending\" or \"Descending\"."
          nullable: true
          additionalProperties:
            type: string
    ChargesFields:
      type: object
      description: Class used for showing only required fields.
      additionalProperties: false
      properties:
        FieldParam:
          type: array
          description: "Charge fields to be selected from results.\n\nAvailable charge fields which can be selected are   \n*ChargeCode, CustomerName, CustomerType, ChargeName, IsTrial, IsAutoRenew, EffectiveDate, EndDate, ChargeType, ProductName, ProductType, BillableItem, Price, TermPrice, Currency, Quantity, Total, Description, SubscriptionStartDate, SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate.*"
          nullable: true
          items:
            type: string
    SubscriptionChargesEventsResponseModel:
      type: object
      description: Defines subscription charges events attributes, product, partner, subscription, customer and billing account associated with the subscription charge. It also includes paging information.
      additionalProperties: false
      properties:
        Data:
          type: array
          description: Provides event information associated with the subscription charge.
          nullable: true
          items:
            $ref: '#/components/schemas/SubscriptionChargesEventResult'
        Links:
          description: Page details.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventLinks'
        Meta:
          description: Total number of records associated with the subscription charge event result.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventPageMeta'
    SubscriptionChargesEventResult:
      type: object
      description: Result contains the subscription charges event attributes, product, partner, subscription, customer and billing account associated with the subscription charge.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*
          nullable: true
        Id:
          type: string
          description: Unique identifier of the data associated with the subscription charge.
          nullable: true
        Attributes:
          description: >-
            Contains subscription charge events fields/properties.


            Properties are optional, depends on the fields requested.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventAttributes'
        Relationships:
          description: Product, partner, subscription, customer and billing account associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventEventsRelationships'
    SubscriptionChargesEventAttributes:
      type: object
      description: Defines subscription charge events fields/properties.
      additionalProperties: false
      properties:
        ChargeCode:
          type: string
          description: Unique identifier of the charge.
          nullable: true
        ChargeName:
          type: string
          description: Name of the subscription charge.
          nullable: true
        ChargeType:
          type: string
          description: Type of charge. Valid values are:*Recurring* and *One-Time*.
          nullable: true
        ProductName:
          type: string
          description: Name of the product associated with the charge.
          nullable: true
        ProductType:
          type: string
          description: Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.
          nullable: true
        IsOffice365Nce:
          type: boolean
          description: 'Indicates whether the charge is for a Microsoft Office 365 New Commerce Experience (NCE) subscription. Valid values are: *true* and *false*.'
          nullable: true
        BillableItem:
          type: string
          description: The usage counter for determining the number of units for the charge.
          nullable: true
        Price:
          type: number
          description: Unit price.
          format: double
          nullable: true
        TermPrice:
          type: number
          description: Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.
          format: double
          nullable: true
        Currency:
          type: string
          description: Currency for reporting the charge, for example, *USD*.
          nullable: true
        Quantity:
          type: number
          description: Number of units for the charge.
          format: double
          nullable: true
        PreviousQuantity:
          type: number
          description: Number of units before the current charge.
          format: double
          nullable: true
        Total:
          type: number
          description: The total charge amount.
          format: double
          nullable: true
        EventType:
          type: string
          description: 'Type of subscription charge event. Valid values are: *Recurring*, *Adjustment* and *One-Time*.'
          nullable: true
        Description:
          type: string
          description: Description of the charge.
          nullable: true
        SubscriptionStartDate:
          type: string
          description: Start date of the subscription.
          format: date-time
          nullable: true
        SubscriptionCanceled:
          type: boolean
          description: 'Indicates whether the subscription was canceled. Valid values are: *true* and *false*.'
          nullable: true
        SubscriptionCanceledDate:
          type: string
          description: Date when the subscription was canceled.
          format: date-time
          nullable: true
        InitialTerm:
          type: integer
          description: First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.
          format: int32
          nullable: true
        CurrentTerm:
          type: integer
          description: Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.
          format: int32
          nullable: true
        CommitmentTerm:
          type: integer
          description: For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.
          format: int32
          nullable: true
        TermStartDate:
          type: string
          description: Start date of the current subscription.
          format: date-time
          nullable: true
        TermEndDate:
          type: string
          description: End date of the current subscription.
          format: date-time
          nullable: true
        IsTrial:
          type: boolean
          description: 'Indicates whether the subscription is a trial. Valid values are: *true* and *false*.'
          nullable: true
        IsAutoRenew:
          type: boolean
          description: 'Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.'
          nullable: true
        EffectiveDate:
          type: string
          description: Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.
          format: date-time
          nullable: true
        EndDate:
          type: string
          description: End date of the subscription.
          format: date-time
          nullable: true
        SubscriptionProductUpdated:
          type: boolean
          description: 'Indicates whether the product was changed in the subscription. Valid values are: *true* and *false*.'
          nullable: true
        SubscriptionProductUpdatedDate:
          type: string
          description: Date when the product was changed in the subscription.
          format: date-time
          nullable: true
        CustomerName:
          type: string
          description: Name of the customer.
          nullable: true
        CustomerType:
          type: string
          description: 'Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.'
          nullable: true
    SubscriptionChargesEventEventsRelationships:
      type: object
      description: Defines product, partner, subscription, customer and billing account associated with the subscription charge.
      additionalProperties: false
      properties:
        Product:
          description: Product associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventProduct'
        Partner:
          description: partner associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventPartner'
        Subscription:
          description: Subscription associated with the charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventSubscription'
        Customer:
          description: Customer associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventCustomer'
        BillToAccount:
          description: Account that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventBillToAccount'
    SubscriptionChargesEventProduct:
      type: object
      description: Defines product associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Product's information associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventData'
    SubscriptionChargesEventData:
      type: object
      description: Defines product, partner, subscription, customer and billing account associated with the subscription charge.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Type of data. *e.g. subscriptionCharges/subscriptionChargeEvents*
          nullable: true
        Id:
          type: string
          description: Unique identifier of the data associated with the subscription charge.
          nullable: true
        Meta:
          description: Account number that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargeEventMeta'
    SubscriptionChargeEventMeta:
      type: object
      description: Result contains information such as customer number/ bill to account number.
      additionalProperties: false
      properties:
        CustomerNumber:
          type: string
          description: Customer number associated with the subscription charge.
          nullable: true
        BillToAccountNumber:
          type: string
          description: Account number that the subscription charge is billed to.
          nullable: true
    SubscriptionChargesEventPartner:
      type: object
      description: Defines partner associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Partner's information associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventData'
    SubscriptionChargesEventSubscription:
      type: object
      description: Defines subscription event associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Event information associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventData'
    SubscriptionChargesEventCustomer:
      type: object
      description: Defines customer associated with the subscription charge.
      additionalProperties: false
      properties:
        Data:
          description: Records for customer associated with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventData'
    SubscriptionChargesEventBillToAccount:
      type: object
      description: Defines account that the subscription charge is billed to.
      additionalProperties: false
      properties:
        Data:
          description: Records for account that the subscription charge is billed to.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventData'
    SubscriptionChargesEventLinks:
      type: object
      description: Contains page information.
      additionalProperties: false
      properties:
        NextPageLimit:
          type: integer
          description: Next page limit.
          format: int32
          nullable: true
        NextPageOffset:
          type: integer
          description: Next page offset.
          format: int32
          nullable: true
    SubscriptionChargesEventPageMeta:
      type: object
      description: Defines total number of records associated with the subscription charge.
      additionalProperties: false
      properties:
        Page:
          description: Indicates the total number of records with the subscription charge.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventPage'
    SubscriptionChargesEventPage:
      type: object
      description: Defines page details.
      additionalProperties: false
      properties:
        Total:
          type: integer
          description: Total number of pages.
          format: int32
          nullable: true
    SubscriptionChargesEventsRequestModel:
      type: object
      description: Defines sort order, filters and fields for charges event included in the response.
      additionalProperties: false
      properties:
        SubscriptionChargesEventFilterFields:
          description: >-
            Defines the charges event filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *"IsTrail": "eq:true"*.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/SubscriptionChargesEventsFilterFields'
        Sorting:
          description: >-
            Controls the sort order of the events in the response. Multiple parameters can be specified, for example, *{ "IsTrial": "Ascending"}*.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/EventSorting'
        Fields:
          description: >-
            Defines the fields to be included in the response. (Optional, multiple parameters can be added).The parameter is case-insensitive. For example: *"IsTrial", "chargeCode"*. If it is omitted, the response will include all possible fields by default.


            Optional
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/EventFields'
    SubscriptionChargesEventsFilterFields:
      type: object
      description: 'Defines the charges event filter fields. Each parameter is defined by operator:value pairs. For example the condition IsTrial equal to true is represented by *"IsTrail": "eq:true"*.'
      additionalProperties: false
      properties:
        Id:
          type: string
          description: >-
            Unique identifier of the each subscription charge events. This ID is generated in OpenText Secure Cloud.


            Optional
          nullable: true
        ChargeCode:
          type: string
          description: >-
            Unique identifier of the charge.


            Optional
          nullable: true
        ChargeName:
          type: string
          description: >-
            Name of the subscription charge.


            Optional
          nullable: true
        ChargeType:
          type: string
          description: >-
            Type of charge. Valid values are:*Recurring* and *One-Time*.


            Optional
          nullable: true
        ProductName:
          type: string
          description: >-
            Name of the product associated with the charge.


            Optional
          nullable: true
        ProductType:
          type: string
          description: >-
            Platform of the product associated with the charge. The *ProductType* is used primarily for automated provisioning, but is also used for grouping and roll-ups in reports.


            Optional
          nullable: true
        IsOffice365Nce:
          type: string
          description: >-
            Indicates whether the charge is for a *Microsoft Office 365 New Commerce Experience (NCE)* subscription. Valid values are: *true* and *false*.


            Optional
          nullable: true
        BillableItem:
          type: string
          description: >-
            Usage counter for determining the number of units for the charge.


            Optional
          nullable: true
        Price:
          type: string
          description: >-
            Unit price.


            Optional
          nullable: true
        TermPrice:
          type: string
          description: >-
            Unit price for the term of the subscription. If the charge is billed monthly or is a one-time charge, the *TermPrice* is the same as the price. If the charge is billed annually, the *TermPrice* is 12 times the price.


            Optional
          nullable: true
        Currency:
          type: string
          description: >-
            Currency for reporting the charge, for example, *USD*.


            Optional
          nullable: true
        Quantity:
          type: string
          description: >-
            Number of units for the charge.


            Optional
          nullable: true
        PreviousQuantity:
          type: string
          description: >-
            Number of units before the current charge.


            Optional
          nullable: true
        Total:
          type: string
          description: >-
            Total charge amount.


            Optional
          nullable: true
        EventType:
          type: string
          description: >-
            Type of subscription charge event. Valid values are: *Recurring*, *Adjustment* and *One-Time*.


            Optional
          nullable: true
        Description:
          type: string
          description: >-
            Description of the charge.


            Optional
          nullable: true
        SubscriptionStartDate:
          type: string
          description: >-
            Start date of the subscription.


            Optional
          nullable: true
        SubscriptionCanceled:
          type: string
          description: >-
            Indicates whether the subscription was canceled. Valid values are: *true* and *false*.


            Optional
          nullable: true
        SubscriptionCanceledDate:
          type: string
          description: >-
            Date when the subscription was canceled.


            Optional
          nullable: true
        InitialTerm:
          type: string
          description: >-
            First subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.


            Optional
          nullable: true
        CurrentTerm:
          type: string
          description: >-
            Current subscription term (in months) eligible for a discount. For example, *1*, *12* or *24*.


            Optional
          nullable: true
        CommitmentTerm:
          type: string
          description: >-
            For Office365 only. Indicates the commitment term (in months) for the current subscription. If the current commitment is for an annual subscription with monthly billing, the commitmentTerm is 12.


            Optional
          nullable: true
        TermStartDate:
          type: string
          description: >-
            Start date of the current subscription.


            Optional
          nullable: true
        TermEndDate:
          type: string
          description: >-
            End date of the current subscription.


            Optional
          nullable: true
        IsTrial:
          type: string
          description: >-
            Indicates whether the subscription is a trial. Valid values are: *true* and *false*.


            Optional
          nullable: true
        IsAutoRenew:
          type: string
          description: >-
            Indicates whether the subscription automatically renews when it expires or, if it is a trial, converts to a subscription. Valid values are: *true* and *false*.


            Optional
          nullable: true
        EffectiveDate:
          type: string
          description: >-
            Earliest date that the charge can be posted to the billing account. For a recurring or one-time charge, the effectiveDate is at the start of the subscription.


            Optional
          nullable: true
        EndDate:
          type: string
          description: >-
            End date of the subscription.


            Optional
          nullable: true
        SubscriptionProductUpdated:
          type: string
          description: >-
            Indicates whether the product was changed in the subscription. Valid values are: *true, false*.


            Optional
          nullable: true
        SubscriptionProductUpdatedDate:
          type: string
          description: >-
            Date when the product was changed in the subscription.


            Optional
          nullable: true
        CustomerName:
          type: string
          description: >-
            Name of the customer.


            Optional
          nullable: true
        CustomerType:
          type: string
          description: >-
            Type of customer. Valid values are: *Direct*, *Resold*, *Referred* and *Partner*.


            Optional
          nullable: true
        ProductId:
          type: string
          description: >-
            Unique identifier of the product data associated with the subscription charge.


            Optional
          nullable: true
        PartnerId:
          type: string
          description: >-
            Unique identifier of the partner data associated with the subscription charge.


            Optional
          nullable: true
        SubscriptionId:
          type: string
          description: >-
            Unique identifier of the subscription data associated with the subscription charge.


            Optional
          nullable: true
        CustomerId:
          type: string
          description: >-
            Unique identifier of the customer data associated with the subscription charge.


            Optional
          nullable: true
        BillToAccountId:
          type: string
          description: >-
            Unique identifier of the "bill to account" associated with the subscription charge.


            Optional
          nullable: true
    EventSorting:
      type: object
      description: Used for sorting.
      additionalProperties: false
      properties:
        Parameters:
          type: object
          description: "Dictionary consists of key/value pairs. Keys represent field names and values define the sort order (*ascending* or *descending*).  \nKey is case insensitive.\n\nSorting parameters is one or more of these fields:   \n*ChargeCode, ChargeName, ChargeType, ProductName, ProductType, IsOffice365Nce, BillableItem, Price, TermPrice, Currency, Quantity, PreviousQuantity, Total, EventType, Description, SubscriptionStartDate,SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate, IsTrial, IsAutoRenew, EffectiveDate, EndDate, SubscriptionProductUpdated, SubscriptionProductUpdatedDate, CustomerName, CustomerType.*  \nSort order is either \"Ascending\" or \"Descending\"."
          nullable: true
          additionalProperties:
            type: string
    EventFields:
      type: object
      description: Defines fields for charges event to be included in Response.
      additionalProperties: false
      properties:
        FieldParam:
          type: array
          description: "Event fields to be selected from results.\n\nAvailable Event Fields which can be selected are   \n*ChargeCode, ChargeName, ChargeType, ProductName, ProductType, IsOffice365Nce, BillableItem, Price, TermPrice, Currency, Quantity, PreviousQuantity, Total, EventType, Description, SubscriptionStartDate,SubscriptionCanceled, SubscriptionCanceledDate, InitialTerm, CurrentTerm, CommitmentTerm, TermStartDate, TermEndDate, IsTrial, IsAutoRenew, EffectiveDate, EndDate, SubscriptionProductUpdated, SubscriptionProductUpdatedDate, CustomerName, CustomerType*"
          nullable: true
          items:
            type: string
  securitySchemes:
    UnityAPISecurity:
      type: oauth2
      description: This API uses OAuth 2 with Resource Owner Password Credentials Grant.
      flows:
        password:
          tokenUrl: https://unityapi.webrootcloudav.com/auth/token
          refreshUrl: https://unityapi.webrootcloudav.com/auth/token
          scopes:
            SkyStatus.GSM: Grants access to the SkyStatus.GSM scope.
            SkyStatus.Site: Grants access to the SkyStatus.Site scope.
            SkyStatus.Reporting: Grants access to the SkyStatus.Reporting scope.
            Console.Access: Grants access to the Console.Access scope.
            Console.GSM: Grants access to the Console.GSM scope.
            ECom.Shop: Grants access to the ECom.Shop scope.
            HealthCheck: Grants access to the HealthCheck scope.
            Notifications.Subscriptions: Grants access to the Notifications.Subscriptions scope.
            SecureCloud.Platform: Grants access to the SecureCloud.Platform scope.
            SecureCloud.Usage: Grants access to the SecureCloud.Usage scope.
tags:
- name: 'SkyStatus: Endpoint Status Site'
  description: Provides a set of API calls for retrieving agent status information from specific endpoints. Endpoints can be queried by site key, filtered by machineID and by last modification date.
- name: SkyStatus
  description: Provides a set of API calls for retrieving agent and license status information from specific endpoints.
- name: 'SkyStatus: Endpoint Status GSM'
  description: Provides a set of API calls for retrieving agent status information from specific endpoints. Endpoints can be queried by GSM master key, filtered by machineID and by last modification date.
- name: 'SkyStatus: Usage Reporting'
  description: "Provides a set of API calls for retrieving usage reports on a specific GSM master key. \n**Note:** Report data is generally available for the last 40 days for which you can query usage reports. It is not guaranteed that later historical data can be accessed through these API methods."
- name: 'Console: Console Access'
  description: >-
    Provides a set of API calls for acquiring access to GSM console environments. For more information about how to request access and about related prerequisites, please see the description of the individual API endpoints.


    #### Note:

    The *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.


    #### Note:

    ECom 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.


    For more information about how to subscribe to certain events and how to retrieve event notifications please refer to the *Event Notifications* Guide section [here](https://unityapi.webrootcloudav.com/Docs/APIDoc/Notifications#notifications).
- name: Notifications
  description: Provides a set of API calls for Notifications.
- name: 'SecureCloud: SecureCloud Customers'
  description: "Provides a set of API calls to retrieve OpenText Secure Cloud customer and user related information. \n**Note:** When requesting the *\"SecureCloud.Platform\"* scope, *\"SecureCloud.Usage\"* is implicitly added to the access token. As a result, both SecureCloud customers and SecureCloud usage methods can be called. However, when requesting \"SecureCloud.Usage\", only usage methods will be available."
- name: SecureCloud
  description: Provides a set of API methods for the OpenText Secure Cloud platform.
- name: 'SecureCloud: SecureCloud Usage'
  description: Provides a set of API calls to retrieve OpenText Secure Cloud related billing information.
x-unityapi-environment: Production
x-tagGroups:
- name: SkyStatus
  tags:
  - 'SkyStatus: Endpoint Status Site'
  - 'SkyStatus: Endpoint Status GSM'
  - 'SkyStatus: Usage Reporting'
- name: Console
  tags:
  - 'Console: Console Access'
  - 'Console: Console GSM'
- name: ECom
  tags:
  - 'ECom: Shop'
- name: HealthCheck
  tags:
  - 'HealthCheck: Health Check'
- name: Notifications
  tags:
  - 'Notifications: Subscriptions'
- name: SecureCloud
  tags:
  - 'SecureCloud: SecureCloud Customers'
  - 'SecureCloud: SecureCloud Usage'
