﻿x-generator: NSwag v13.3.0.0 (NJsonSchema v10.1.11.0 (Newtonsoft.Json v11.0.0.0))
openapi: 3.0.0
info:
  title: Webroot Unity API - OpenAPI Definition (Production)
  description: Unity API is a platform that enables users access to a variety of services and information offered by Webroot. Access is provided through web service REST methods which return individual sets of data. One advantage is that users only have to authenticate with the Unity API once to gain access to any type of information and actions, given that the user has necessary access rights.
  license:
    name: Webroot Unity SDK and Unity API Agreement
    url: https://www.webroot.com/us/en/legal/service-terms-and-conditions
  version: 1.0.26063.1
  x-logo:
    url: https://unityapi.webrootcloudav.com/Docs/Images/Webroot_UnityAPI_green.png
    altText: Webroot Unity API
servers:
- url: https://unityapi.webrootcloudav.com/service
  description: Unity API Server (Production)
paths:
  /api/status/site/{keyCode}:
    get:
      tags:
      - 'SkyStatus: Endpoint Status Site'
      summary: Returns agent status information for all endpoints matching the specified criteria.
      description: Returned information is grouped into several classes which can be selectively included in responses in order to reduce network traffic. Returned items can be grouped into batches by using the 'batchSize' parameter, in which case responses contain a 'continuationURI' and 'ContinuationToken' fields, which can be used for requesting the next batch of items.
      operationId: EndpointStatus_GetAgentStatus
      parameters:
      - name: keyCode
        in: path
        required: true
        description: A site keycode for which agent status information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 72DD-CBA8-6CB4-46B0-93F1
      - 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: d1c3c5beebad4664bcd407b49bcea2ebd1c3c5beebad4664bcd407b49bcea2eb:::5ebea916366f4975ac145ebea916366f4975ac14:::5ebea916366f4975ac145ebea916366f4975ac14
      - 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: EnabledFeatures,ExtendedInfo,Scheduling
      - name: modifiedSince
        in: query
        description: If specified, returns all agent status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T07:23:26.1082065Z
      - 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: 18
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 6
        example: U8KPYYf6XZIyhGC1
      responses:
        200:
          description: Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/AgentStatus'
              example:
                QueryResults:
                - BasicInfo:
                    StatusRefreshTime: 2026-04-14T07:13:26.0925962Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-08-14T07:23:26.0925962Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-04-14T02:23:26.0925962Z
                    SystemState: 1
                    SystemStateUpdated: 2026-04-14T02:23:26.0925962Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-04-14T05:23:26.0925962Z
                    LastScanDuration: 136
                    LastScanCount: 152209
                    ScanCount: 4
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-04-14T05:23:26.0925962Z
                    LastFullScanDuration: 420
                    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.109.247.108
                    MACAddress: 82-75-92-4D-E5-A0
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.207.149.90
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.109.247.108
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: 2AE9-16B8-C347-4F54-95D6
                  KC: F971-9392-6E34-46E1-956E
                  MachineID: f6cb95a022614e848ef4656ee77652e6f6cb95a022614e848ef4656ee77652e6:::89cbafbe0e3b4c0dad6589cbafbe0e3b4c0dad65:::89cbafbe0e3b4c0dad6589cbafbe0e3b4c0dad65
                  LastChanged: 2026-04-12T07:23:26.0925962Z
                  HostName: Computer1
                  IPAddress: 95.73.136.159
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-03-14T07:23:26.0925962Z
                  LastSeen: 2026-04-13T07:23:26.0925962Z
                  TimesSeen: 24
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                - BasicInfo:
                    StatusRefreshTime: 2026-04-14T07:03:26.0925962Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-08-14T07:23:26.0925962Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-04-13T21:23:26.0925962Z
                    SystemState: 1
                    SystemStateUpdated: 2026-04-13T21:23:26.0925962Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-04-14T03:23:26.0925962Z
                    LastScanDuration: 269
                    LastScanCount: 184413
                    ScanCount: 9
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-04-14T03:23:26.0925962Z
                    LastFullScanDuration: 330
                    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.37.79.185
                    MACAddress: 07-D1-87-1B-A3-72
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.17.24.135
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.37.79.185
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: 2AE9-16B8-C347-4F54-95D6
                  KC: F971-9392-6E34-46E1-956E
                  MachineID: 04fde856b2dd415eb6388bbfdc5d446b04fde856b2dd415eb6388bbfdc5d446b:::4fc20f8e0a654c64bc2a4fc20f8e0a654c64bc2a:::4fc20f8e0a654c64bc2a4fc20f8e0a654c64bc2a
                  LastChanged: 2026-04-10T07:23:26.0925962Z
                  HostName: Computer2
                  IPAddress: 95.160.222.14
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-02-14T07:23:26.0925962Z
                  LastSeen: 2026-04-12T07:23:26.0925962Z
                  TimesSeen: 7
                  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: 33C4-8D01-FD7D-4240-92E9
      - 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: 84c9997bce544d9e857b3d7902cb6ef884c9997bce544d9e857b3d7902cb6ef8:::95437d24da674f02b95d95437d24da674f02b95d:::95437d24da674f02b95d95437d24da674f02b95d
      - name: modifiedSince
        in: query
        description: If specified, returns all DNSP status entries, that were generated traffic after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T07:23:26.1398091Z
      - 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: 26
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 5
        example: gTqwSWKUP_K-kFH-
      responses:
        200:
          description: Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/DNSPAgentStatus'
              example:
                QueryResults:
                - HostName: Computer1
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-03-14T07:23:26.1398091Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-04-12T07:23:26.1398091Z
                  LastModifiedDate: 2026-03-14T09:23:26.1398091Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 3896614b-738d-44e7-aefa-c0bba487fa4b
                  DNSPolicyName: Securedns High Protection
                  MachineID: 9ee64c46c2f147b8bc560af0919eed8e9ee64c46c2f147b8bc560af0919eed8e:::f559d1325d9d435db48df559d1325d9d435db48d:::f559d1325d9d435db48df559d1325d9d435db48d
                  KC: 0ECB-0275-CBD5-4751-ADD1
                  MasterKC: 66A1-3C99-3212-42D9-B8BE
                - HostName: Computer2
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-02-14T07:23:26.1398091Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-04-10T07:23:26.1398091Z
                  LastModifiedDate: 2026-02-14T11:23:26.1398091Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: fd1e148d-880f-419d-81ab-b2101e59829b
                  DNSPolicyName: Securedns High Protection
                  MachineID: fc64e60aa1054be99259b9631820f3d3fc64e60aa1054be99259b9631820f3d3:::a2e6ec38c7d34f5cab01a2e6ec38c7d34f5cab01:::a2e6ec38c7d34f5cab01a2e6ec38c7d34f5cab01
                  KC: 0ECB-0275-CBD5-4751-ADD1
                  MasterKC: 66A1-3C99-3212-42D9-B8BE
                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: 50AD-A3F0-7F30-4580-B399
      - 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: 1e3f42ceb27d4d479b7e193e3369e4851e3f42ceb27d4d479b7e193e3369e485:::1bec7e6bf13c4b99bdcd1bec7e6bf13c4b99bdcd:::1bec7e6bf13c4b99bdcd1bec7e6bf13c4b99bdcd
      - 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: EnabledFeatures,BasicInfo,SystemAnalyzer
      - name: modifiedSince
        in: query
        description: If specified, returns all agent status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T07:23:26.1711141Z
      - 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: 35
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 6
        example: ppHtMjItPpJfp0Ye
      responses:
        200:
          description: Returns a list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/AgentStatus'
              example:
                QueryResults:
                - BasicInfo:
                    StatusRefreshTime: 2026-04-14T07:13:26.1711141Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-08-14T07:23:26.1711141Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-04-14T02:23:26.1711141Z
                    SystemState: 1
                    SystemStateUpdated: 2026-04-14T02:23:26.1711141Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-04-14T05:23:26.1711141Z
                    LastScanDuration: 186
                    LastScanCount: 263107
                    ScanCount: 11
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-04-14T05:23:26.1711141Z
                    LastFullScanDuration: 957
                    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.67.105.169
                    MACAddress: 6E-17-6A-DC-52-D1
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.44.149.186
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.67.105.169
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: 59F4-9F42-3B38-44D9-825D
                  KC: F983-C185-9D5C-45E1-ABF4
                  MachineID: a22da6a6640a44a6bd20747e78aaf3efa22da6a6640a44a6bd20747e78aaf3ef:::5eec7fd9f5b74516bca05eec7fd9f5b74516bca0:::5eec7fd9f5b74516bca05eec7fd9f5b74516bca0
                  LastChanged: 2026-04-12T07:23:26.1711141Z
                  HostName: Computer1
                  IPAddress: 95.87.43.186
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-03-14T07:23:26.1711141Z
                  LastSeen: 2026-04-13T07:23:26.1711141Z
                  TimesSeen: 17
                  Hidden: false
                  Deactivated: false
                  ActivationStatusTime: 
                - BasicInfo:
                    StatusRefreshTime: 2026-04-14T07:03:26.1711141Z
                    Managed: false
                    SKU: Webroot SecureAnywhere Endpoint Protection
                    PartnerNumber: 0
                    Version: 9.0.13.58
                    ActiveThreats: 0
                    DeviceType: PC
                    AttentionRequired: false
                    Infected: false
                  ExtendedInfo:
                    Uninstalled: false
                    Language: en
                    IsExpired: false
                    DaysRemaining: 122
                    ExpirationDate: 2026-08-14T07:23:26.1711141Z
                    RemediationEnabled: true
                    ThreatBlocked: false
                    WasJustInfected: true
                    HasBeenInfected: true
                    LatestThreat: c:\users\administrator\downloads\eicar_com\eicar - copy.com|Eicar-Test-Virus|56A0F8A9
                    CurrentlyCleaning: false
                    CleanShutdown: true
                    ManualAgentShutdown: false
                    AgentStartupTime: 2026-04-13T21:23:26.1711141Z
                    SystemState: 1
                    SystemStateUpdated: 2026-04-13T21:23:26.1711141Z
                  TimesAndStats:
                    LastGarbageRemovalTime: 
                    LastGarbageRemovalSize: 0
                    TotalGarbageRemovalSize: 0
                    LastScan: 2026-04-14T03:23:26.1711141Z
                    LastScanDuration: 117
                    LastScanCount: 152834
                    ScanCount: 9
                    ThreatsRemoved: 1
                    LastQuickScan: 
                    LastQuickScanDuration: 0
                    LastFullScan: 2026-04-14T03:23:26.1711141Z
                    LastFullScanDuration: 859
                    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.88.182.191
                    MACAddress: F6-C0-3E-38-AF-E4
                    ADSTRING: ''
                    Workgroup: WORKGROUP
                    DNSServer: 10.116.69.168
                    BinType: SMEINSTALL
                    Email: ''
                    OtherAVProduct: ''
                    OtherAVProductVersion: ''
                    IsOtherAVEnabled: false
                    IsOtherAVUpdated: false
                    PrimaryBrowser: IE
                    PrimaryBrowserVersion: 9.11.9600.18125
                    IsFirewallEnabled: true
                    IsVirtualMachine: false
                    IPV4: 10.88.182.191
                    IPV6: ''
                    FQDN: ''
                    NTDOMAIN: ''
                    LDAPOID: ''
                    LDAPDN: ''
                  MasterKC: 59F4-9F42-3B38-44D9-825D
                  KC: F983-C185-9D5C-45E1-ABF4
                  MachineID: 1c6c74e0d99f40fc93d3d96c75a4acb71c6c74e0d99f40fc93d3d96c75a4acb7:::b576b60f73714ea68ab1b576b60f73714ea68ab1:::b576b60f73714ea68ab1b576b60f73714ea68ab1
                  LastChanged: 2026-04-10T07:23:26.1711141Z
                  HostName: Computer2
                  IPAddress: 95.175.249.118
                  ClientVersion: 9.0.13.58
                  OS: Windows Server 2012 (Build 9600) 64bit
                  FirstSeen: 2026-02-14T07:23:26.1711141Z
                  LastSeen: 2026-04-12T07:23:26.1711141Z
                  TimesSeen: 9
                  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: 65AF-7D5F-51B1-4EC5-B995
      - 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: 9915c9cbe50c4740b74cc8a7ac6354d49915c9cbe50c4740b74cc8a7ac6354d4:::d989774859774c318f95d989774859774c318f95:::d989774859774c318f95d989774859774c318f95
      - name: modifiedSince
        in: query
        description: If specified, returns all DNSP status entries, that were modified after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T07:23:26.1711141Z
      - 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: 28
      - name: continuation
        in: query
        description: A continuation token for batched requests
        schema:
          type: string
          nullable: false
        x-position: 5
        example: UBU07BuBDFnsXcff
      responses:
        200:
          description: Returns DNSP status information for the list of endpoints matching the given criteria. If more items would be returned, than specified by 'batchSize', a continuation URI is returned, which can be used to retrieve the next batch of items
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/DNSPAgentStatus'
              example:
                QueryResults:
                - HostName: Computer1
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-03-14T07:23:26.1711141Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-04-12T07:23:26.1711141Z
                  LastModifiedDate: 2026-03-14T09:23:26.1711141Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 957b3bce-e8c5-4ae9-a043-25e99d5e288a
                  DNSPolicyName: Securedns High Protection
                  MachineID: ef0442509a0d490a904460ad4b6175b0ef0442509a0d490a904460ad4b6175b0:::caa45c14f34746b8afaccaa45c14f34746b8afac:::caa45c14f34746b8afaccaa45c14f34746b8afac
                  KC: 1667-79EC-ABE6-4664-A170
                  MasterKC: D424-F22D-2A8B-4589-946B
                - HostName: Computer2
                  IsVirtualMachine: false
                  DNSAgentStatus: Installed
                  InstalledDate: 2026-02-14T07:23:26.1711141Z
                  UninstalledDate: 
                  AgentVersion: 1.3.3.35
                  LastSeenDate: 2026-04-10T07:23:26.1711141Z
                  LastModifiedDate: 2026-02-14T11:23:26.1711141Z
                  TrafficCountLast24Hours: 2134
                  DNSPolicyID: 8b3b1b1b-14e6-4b98-bc4c-c30d1fa8d8e6
                  DNSPolicyName: Securedns High Protection
                  MachineID: b36f6f1f75e9401e9c91f467198eb8b9b36f6f1f75e9401e9c91f467198eb8b9:::cb4f8fa3444345dd8223cb4f8fa3444345dd8223:::cb4f8fa3444345dd8223cb4f8fa3444345dd8223
                  KC: 1667-79EC-ABE6-4664-A170
                  MasterKC: D424-F22D-2A8B-4589-946B
                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: 7679-E079-2447-4421-9389
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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: ActiveEndpoints
                  EffectiveDate: 2026-03-20T00:00:00.0000000Z
                  GSMKey: g8ersygw1bqhb8aziw3d
                GSM:
                  GSMConsoleName: GSM V1LZCWAFOD
                  LicenseType: Full
                  ExpiryDate: 2026-07-08T14:22:26.2805002Z
                  TotalSitesWithoutTrial: 173
                  TotalTrialSites: 14
                  TotalEndpointsWithoutTrial: 4074
                  TotalTrialEndpoints: 35
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/7679-E079-2447-4421-9389
  /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: 26CB-B944-001A-44F4-A522
      - 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-04-09T00: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-03-18T00:00:00.0000000Z
                  GSMKey: dywdppy165y9ti89fzhn
                Sites:
                - SiteId: 1d9ea025-5aa0-10b4-05db-4f4bfcce4525
                  SiteKey: 316hnw2086oz9htcl139
                  SiteName: Site 4CIVTBU9NN
                  LicenseType: Full
                  ExpiryDate: 2027-09-19T23:55:26.3273740Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-30T07:23:26.3273740Z
                  TotalEndpoints: 3744
                - SiteId: 0cc25582-64cc-61ae-1406-5155f070128d
                  SiteKey: jh23xylffonhwy0tlxmb
                  SiteName: Site 3MUWAX0DPK
                  LicenseType: Trial
                  ExpiryDate: 2026-11-30T09:32:26.3273740Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-24T07:23:26.3273740Z
                  TotalEndpoints: 6080
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/26CB-B944-001A-44F4-A522/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: 8F45-7B19-6BF5-4121-8700
      - 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: 6785-0B1B-BC56-422B-9929
      - 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-04-09T00: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-04-05T00:00:00.0000000Z
                  GSMKey: 9kcfea23e3042plr11je
                Sites:
                - SiteId: 02cfedc9-4830-32bd-7bb1-77ebf12d335a
                  SiteKey: bmeneb3m4znrtw1nzbf9
                  SiteName: Site 8OU7FBB6BV
                  LicenseType: Full
                  ExpiryDate: 2028-11-14T16:48:26.3430031Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-21T07:23:26.3430031Z
                  TotalEndpoints: 437
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/8F45-7B19-6BF5-4121-8700/sites/6785-0B1B-BC56-422B-9929
  /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: 59AB-6663-2526-4537-945D
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: BRJsUtKrnJfElaqw
      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: WZSVbrlN7k39iHKi
                  SiteKeyFilter: 
                  ReportType: ActiveEndpoints
                  EffectiveDate: 2026-04-06T00:00:00.0000000Z
                  GSMKey: itnda67fa7ib6wnllhhm
                Endpoints:
                - MachineId: d57d118635ae2afe5bf92779b09cf4fb18b3fd3dc95106b6a6a88aa6dd217b6e:::6edaebf881d8269442189737e551a15126b1917e:::6edaebf881d8269442189737e551a15126b1917e
                  SiteId: 3aeffd05-12b4-7ddc-3478-6831c1ec0d9b
                  SiteKey: hrj54lw6l8zn0un54q01
                  HostName: NODEM6BVMBIRJ3
                  FriendlyHostName: FRIENDLY-NODEM6BVMBIRJ3
                  LastSeen: 2026-04-03T02:07:26.3898815Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: true
                  ActivationStatusTime: 2026-03-31T00:05:26.3898815Z
                - MachineId: 30741b535e8948a0b6cc2a96dd7ebf67003b41bf27ddb72e290b10a970634776:::70845fb9bdabdcb5a9c2eb6f6934b7bbf65aee92:::70845fb9bdabdcb5a9c2eb6f6934b7bbf65aee92
                  SiteId: 6b3cfabf-3ac7-7e90-21ab-36a0409675a6
                  SiteKey: 1ymbvyxms0wu50zr6jf7
                  HostName: NODECRQ2X2F533
                  FriendlyHostName: FRIENDLY-NODECRQ2X2F533
                  LastSeen: 2026-03-24T17:24:26.3898815Z
                  DeviceType: PC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: false
                  ActivationStatusTime: 2026-04-04T18:10:26.3898815Z
      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: 5822-343D-94DD-45EA-AB64
      - 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: 590A-B111-4F38-460F-BA08
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"ActiveEndpoints\": Includes all active devices on the effective report date. Note: If hidden data filter is set within the Webroot console, and if some devices have moved to hidden, the “ActiveEndpoints” will show all hidden as well as non-hidden devices in the total.\n- \"ActiveEndpointsWithoutHidden\": Includes active devices on the effective report date except for those that were hidden. Note: Reflects the Active Devices total seen within the Webroot console under sites, which filters out any hidden devices. Therefore if hidden devices exist, this device total will be less than “ActiveEndpoints” total.\n- \"EndpointsSeenInLast30Days\": Includes all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"EndpointsSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: C2JyFu80XxuofZ3y
      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: TUqBXB7b0Aeyi8y2
                  SiteKeyFilter: 
                  ReportType: ActiveEndpointsWithoutHidden
                  EffectiveDate: 2026-03-25T00:00:00.0000000Z
                  GSMKey: e5i3pncdqlizvbq03of2
                Endpoints:
                - MachineId: 802d25973bdeed5db9806e88e0aec50286c734b76451efa921cd628989f1abae:::ba571e96e1a296af61ba83b6e2ea59db9663a274:::ba571e96e1a296af61ba83b6e2ea59db9663a274
                  SiteId: 3cfeff6f-31be-77db-2e5b-4655cdf82e06
                  SiteKey: ae8azu9amr77u7a9dkj7
                  HostName: NODE3TOU8RN9H6
                  FriendlyHostName: FRIENDLY-NODE3TOU8RN9H6
                  LastSeen: 2026-03-28T11:39:26.4055099Z
                  DeviceType: PC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: true
                  ActivationStatusTime: 2026-03-31T14:43:26.4055099Z
                - MachineId: e3b91e4b99474a1acd18b7f8c33910c34c603f1229a02bda43c4b29642cdab99:::c138316cbe61df51595e477220c0348601317462:::c138316cbe61df51595e477220c0348601317462
                  SiteId: 639b009c-7a3b-4b11-6b46-5f3f7a624264
                  SiteKey: vl3xrbnyklvcnimouqo9
                  HostName: NODEHFJN3TF2YL
                  FriendlyHostName: FRIENDLY-NODEHFJN3TF2YL
                  LastSeen: 2026-04-12T01:01:26.4055099Z
                  DeviceType: MAC
                  OS: Windows Server 2016 (Build 14393) 64bit
                  IsHidden: false
                  IsDeactivated: false
                  IsTrial: true
                  ActivationStatusTime: 2026-04-02T22:10:26.4055099Z
      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: 4896-5761-6024-46F5-9FC8
      - 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-04-09T00: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: DevicesSeen
                  EffectiveDate: 2026-04-05T00:00:00.0000000Z
                  GSMKey: 8f86emfylu7jsp7xulrz
                GSM:
                  GSMConsoleName: GSM NZ333WW1B0
                  GSMLicenseType: Full
                  GSMExpiryDate: 2028-05-17T18:01:26.4367624Z
                  DNSPEnabled: true
                  DNSPLicenseType: Full
                  DNSPExpiryDate: 2028-01-13T17:49:26.4367624Z
                  TotalSitesWithoutDNSP: 478
                  TotalSitesWithDNSPFull: 169
                  TotalSitesWithDNSPTrial: 285
                  TotalDNSPDevicesProxyFull: 87
                  TotalDNSPDevicesProxyTrial: 409
                  TotalDNSPDevicesActualFull: 225
                  TotalDNSPDevicesActualTrial: 421
                  TotalDNSPAgentlessRequestsFull: 5760000
                  TotalDNSPAgentlessRequestsTrial: 5580000
                  TotalDNSPAgentsFull: 33
                  TotalDNSPAgentsTrial: 229
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/4896-5761-6024-46F5-9FC8/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: 9B4B-8C12-24CD-4F9C-AEF6
      - 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-04-09T00: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: DevicesSeen
                  EffectiveDate: 2026-04-06T00:00:00.0000000Z
                  GSMKey: 660gq250yd5nl02rz5ic
                Sites:
                - SiteId: 4f4ceb5c-4a0c-0af7-140e-52d589fa14f8
                  SiteKey: 3lpftiuvtetual60a59l
                  SiteName: Site KJGE8O6V3H
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2028-10-29T18:55:26.4836429Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-20T07:23:26.4836429Z
                  DNSPEnabled: true
                  DNSPLicenseType: Full
                  DNSPExpiryDate: 2026-05-06T05:58:26.4836429Z
                  TotalDNSPDevicesProxy: 87
                  TotalDNSPDevicesActual: 103
                  TotalDNSPAgentlessRequests: 540000
                  TotalDNSPAgents: 85
                - SiteId: 13f56d9b-244a-5ade-789b-40f1c4692db1
                  SiteKey: qty5uhgl4tfkhfl91lm8
                  SiteName: Site TDI43OWZFA
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2028-10-07T21:31:26.4836429Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-25T07:23:26.4836429Z
                  DNSPEnabled: true
                  DNSPLicenseType: Trial
                  DNSPExpiryDate: 2027-12-27T21:50:26.4836429Z
                  TotalDNSPDevicesProxy: 53
                  TotalDNSPDevicesActual: 32
                  TotalDNSPAgentlessRequests: 240000
                  TotalDNSPAgents: 24
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/9B4B-8C12-24CD-4F9C-AEF6/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: 49BA-615B-6CB0-47F6-8A97
      - 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: 4D9D-8C51-B828-4F71-A258
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"DevicesSeen\": Provides DNSP statistics for all devices seen on the effective report date.\n- \"DevicesSeenInLast30Days\": Provides DNSP statistics for all devices seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"DevicesSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: DevicesSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T00:00: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-04-06T00:00:00.0000000Z
                  GSMKey: 660gq250yd5nl02rz5ic
                Sites:
                - SiteId: 4f4ceb5c-4a0c-0af7-140e-52d589fa14f8
                  SiteKey: 3lpftiuvtetual60a59l
                  SiteName: Site KJGE8O6V3H
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2028-10-29T18:55:26.4836429Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-20T07:23:26.4836429Z
                  DNSPEnabled: true
                  DNSPLicenseType: Full
                  DNSPExpiryDate: 2026-05-06T05:58:26.4836429Z
                  TotalDNSPDevicesProxy: 87
                  TotalDNSPDevicesActual: 103
                  TotalDNSPAgentlessRequests: 540000
                  TotalDNSPAgents: 85
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/49BA-615B-6CB0-47F6-8A97/sites/4D9D-8C51-B828-4F71-A258/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: E871-4507-2F43-476F-BFBD
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: UsersSeen
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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-04-09T00:00:00.0000000Z
                  GSMKey: rea3g1gsrajp4grnpv2v
                GSM:
                  GSMConsoleName: GSM VI2J5TFKJH
                  GSMLicenseType: Full
                  GSMExpiryDate: 2026-09-21T16:12:26.5305255Z
                  WSATEnabled: true
                  WSATLicenseType: Full
                  WSATExpiryDate: 2028-11-16T07:39:26.5305255Z
                  TotalSitesWithoutWSAT: 475
                  TotalSitesWithWSATFull: 213
                  TotalSitesWithWSATTrial: 486
                  TotalWSATFullUsers: 3715
                  TotalWSATTrialUsers: 6080
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/E871-4507-2F43-476F-BFBD/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: C7B4-DDD3-E6E6-4683-9D2D
      - name: reportType
        in: query
        description: "The type of report to be produced. The following values are supported: \n- \"UsersSeen\": Provides WSAT statistics for all users seen on the effective report date.\n- \"UsersSeenInLast30Days\": Provides WSAT statistics for all users seen in the last 30 days (between the effective report date and 30 days earlier).\n\nIf omitted, the reportType is set to \"UsersSeenInLast30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: UsersSeen
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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: UsersSeen
                  EffectiveDate: 2026-03-28T00:00:00.0000000Z
                  GSMKey: 9tcfw0ldr9kmzf0nqvyj
                Sites:
                - SiteId: 0d914148-6e3b-25f6-4363-7444e1a81164
                  SiteKey: v4ph4grmwej1ukuj84k5
                  SiteName: Site 9NSOL61E8K
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2026-11-07T17:20:26.5774022Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-29T07:23:26.5774022Z
                  WSATEnabled: true
                  WSATLicenseType: Trial
                  WSATExpiryDate: 2027-05-29T06:26:26.5774022Z
                  TotalWSATUsers: 88
                - SiteId: 6f2b48b1-7d57-2147-0516-6ad3e8b33afd
                  SiteKey: orz7336qibfila57omnl
                  SiteName: Site 3CNVOPO39L
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2028-08-23T10:41:26.5774022Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-23T07:23:26.5774022Z
                  WSATEnabled: true
                  WSATLicenseType: Full
                  WSATExpiryDate: 2027-09-26T08:58:26.5774022Z
                  TotalWSATUsers: 1
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/C7B4-DDD3-E6E6-4683-9D2D/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: 300B-812C-058F-432E-AEAD
      - 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: 5AAC-2E39-4659-4D24-878C
      - 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-04-09T00: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-03-28T00:00:00.0000000Z
                  GSMKey: 9tcfw0ldr9kmzf0nqvyj
                Sites:
                - SiteId: 0d914148-6e3b-25f6-4363-7444e1a81164
                  SiteKey: v4ph4grmwej1ukuj84k5
                  SiteName: Site 9NSOL61E8K
                  SiteLicenseType: Trial
                  SiteExpiryDate: 2026-11-07T17:20:26.5774022Z
                  SiteState: active
                  SiteStateChangedDate: 2026-03-29T07:23:26.5774022Z
                  WSATEnabled: true
                  WSATLicenseType: Trial
                  WSATExpiryDate: 2027-05-29T06:26:26.5774022Z
                  TotalWSATUsers: 88
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/gsm/300B-812C-058F-432E-AEAD/sites/5AAC-2E39-4659-4D24-878C/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: 0EC8-E6A4-14FA-496C-854F
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-04-09T00:00: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-04-10T00:00:00.0000000Z
                  PartnerKey: 89bi36mo7kc9306nf0c4
                General:
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: partnerpillr,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/0EC8-E6A4-14FA-496C-854F
  /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: 9240-4943-9501-4EE3-82FA
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-04-09T00:00: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-03-26T00:00:00.0000000Z
                  PartnerKey: dymoketl7x6p5fkm112n
                General:
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: 
                Customers:
                - CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: customererpillr,full
                  CustomerKey: fhuo2m3ertgqvhwefnp2
                  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: customererpillr,full
                  CustomerKey: h116asmu7vtnlar5d8v7
                  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/9240-4943-9501-4EE3-82FA/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: D056-C5E2-D269-4265-8046
      - 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: F18E-418C-9EC4-41FB-94C4
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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: uiqs060kt80oawicsqvu
                  EffectiveDate: 2026-04-13T00:00:00.0000000Z
                  PartnerKey: q8n8pqdg2ae6aua7299b
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: customererpillr,full
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: partnerpillr,full
                Products:
                - ProductName: Pillr Platform
                  Licenses:
                  - SubscriptionId: 521
                    CreatedDate: 2024-07-12T00:00: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/D056-C5E2-D269-4265-8046/customers/F18E-418C-9EC4-41FB-94C4
  /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: B397-74EB-9277-469E-A577
      - 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: 0AAD-4901-F545-4D6F-8B82
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: ZMTHfkBF0IipTuIF
      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: lF4dbSj3TADLGY13
                  CustomerKey: m5fk8f9p6trojvqr59or
                  EffectiveDate: 2026-03-20T00:00:00.0000000Z
                  PartnerKey: 1mptue10byu409jv9ve2
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: customererpillr,full
                  PartnerName: Partner 1
                  PartnerId: PART001
                  PartnerLicenseType: partnerpillr,full
                Products:
                - ProductName: Pillr Platform
                  Endpoints:
                  - AgentId: 12345678901234567890120
                    HostName: Host Name 0
                    MacAddress: 00:1A:2B:3C:4D:5A
                    HostIP: 192.168.0.0
                    MobileNumber: 
                    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/B397-74EB-9277-469E-A577/customers/0AAD-4901-F545-4D6F-8B82/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: CA9C-70BB-1964-4BC0-96E2
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-04-09T00:00: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-03-16T00:00:00.0000000Z
                  GSMKey: e62z2xt8laot9sz9qlyj
                General:
                  GSMConsoleName: GSM 2XYBREPRRL
                  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
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/CA9C-70BB-1964-4BC0-96E2
  /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: FC15-3903-9758-454D-B736
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-04-09T00:00: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-04-08T00:00:00.0000000Z
                  GSMKey: y3oheo6p6kqj59gogb65
                General:
                  GSMConsoleName: GSM Console 1
                  GSMConsoleLicenseType: Full
                Sites:
                - SiteName: Site 1
                  SiteLicenseType: Trial
                  SiteKey: ewykesojdny9rjb3kx8k
                  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: 9pkypflbjfx7bfcceecw
                  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
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/status/reporting/detectionandresponse/gsm/FC15-3903-9758-454D-B736/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: 9C67-5EEE-54F6-4AB3-AAE1
      - 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: 2E75-F907-2B6F-4452-AED3
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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: 04dypinbwvyfjhhss8sc
                  EffectiveDate: 2026-04-03T00:00:00.0000000Z
                  GSMKey: 5ggwwu97ti3y2sbqiwej
                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/9C67-5EEE-54F6-4AB3-AAE1/sites/2E75-F907-2B6F-4452-AED3
  /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: 1AC0-8B58-1413-4C25-9F1A
      - 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: 80C6-51B4-3043-474F-A07A
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: EFZ1m-B2gvPBMzKQ
      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: IvhXphQoxrCW2Af7
                  SiteKey: nekr3siieiu4c8jrlcci
                  EffectiveDate: 2026-03-19T00:00:00.0000000Z
                  GSMKey: qc22a453yic9lqh5fay8
                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/1AC0-8B58-1413-4C25-9F1A/sites/80C6-51B4-3043-474F-A07A/endpoints
  /api/status/reporting/crsb/gsm/{gsmKey}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a GSM-level summary report of "CRSB" usage for a GSM master keycode. Besides general information like the console name and type of GSM license the report also includes the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportGSM_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 6106-CD0C-D232-415D-979B
      - name: reportType
        in: query
        description: "The type of CRSB report to generate. Supported values include: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      responses:
        200:
          description: Returns CRSB usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_GSM'
              example:
                ReportInfo:
                  EffectiveDate: 2026-04-11T00:00:00.0000000Z
                  GSMKey: ikiv7imhtbu1qkq7idho
                  ReportType: All
                GSM:
                  GSMConsoleName: GSM Test
                  LicenseType: full
                  ExpiryDate: 2026-05-26T00:00:00.0000000Z
                  Usage:
                  - Type: UsageAtDate
                    Endpoints: 1
                    TotalStorageUsedStandard: 1.1000000000000001
                    TotalStorageUsedCustom: 0.5
                  - Type: Last30Days
                    Endpoints: 5
                    TotalStorageUsedStandard: 2.2000000000000002
                    TotalStorageUsedCustom: 0.69999999999999996
                  - Type: Last60Days
                    Endpoints: 10
                    TotalStorageUsedStandard: 4.5
                    TotalStorageUsedCustom: 3
                  - Type: Last90Days
                    Endpoints: 15
                    TotalStorageUsedStandard: 7.4000000000000004
                    TotalStorageUsedCustom: 4.5999999999999996
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879?reportType=All&effectiveDate=2025-02-15T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/sites:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report of "CRSB" usage for a GSM master keycode. For each site the report includes information like the site name and license type as well as the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportSites_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 6A43-B18E-7DB9-4503-A6BB
      - name: reportType
        in: query
        description: "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      responses:
        200:
          description: Returns site level CRSB usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_Sites'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: 
                  EffectiveDate: 2026-04-07T00:00:00.0000000Z
                  GSMKey: 011otdztfed72dkmqany
                  ReportType: All
                Sites:
                - SiteId: 33b7fb98-1db0-0a98-4ead-47d0f7c76f5d
                  SiteKey: ws97l6z63zoesaik9emb
                  SiteName: Site 6JYDWWXQNT
                  SiteStatus: active
                  LicenseType: Full
                  ExpiryDate: 2026-07-10T00:00:00.0000000Z
                  Usage:
                  - Type: UsageAtDate
                    Endpoints: 1
                    TotalStorageUsedStandard: 9
                    TotalStorageUsedCustom: 7
                  - Type: Last30Days
                    Endpoints: 9
                    TotalStorageUsedStandard: 46
                    TotalStorageUsedCustom: 35
                  - Type: Last60Days
                    Endpoints: 11
                    TotalStorageUsedStandard: 57
                    TotalStorageUsedCustom: 80
                  - Type: Last90Days
                    Endpoints: 28
                    TotalStorageUsedStandard: 137
                    TotalStorageUsedCustom: 138
                - SiteId: 4d8c0192-20d3-1527-49d4-05f55e190da3
                  SiteKey: i8ks8m45lzjjtknqvxcw
                  SiteName: Site E4SQXS17RM
                  SiteStatus: active
                  LicenseType: Full
                  ExpiryDate: 2026-11-27T00:00:00.0000000Z
                  Usage:
                  - Type: UsageAtDate
                    Endpoints: 2
                    TotalStorageUsedStandard: 5
                    TotalStorageUsedCustom: 7
                  - Type: Last30Days
                    Endpoints: 6
                    TotalStorageUsedStandard: 21
                    TotalStorageUsedCustom: 24
                  - Type: Last60Days
                    Endpoints: 16
                    TotalStorageUsedStandard: 99
                    TotalStorageUsedCustom: 93
                  - Type: Last90Days
                    Endpoints: 25
                    TotalStorageUsedStandard: 179
                    TotalStorageUsedCustom: 127
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites?reportType=All&effectiveDate=2025-07-11T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns a site-level summary report of "CRSB" usage for a GSM master keycode by a site keycode. The report includes information like the site name and license type as well as the storage and endpoints details.
      operationId: StatusReporting_GetUsageReportSite_CRSB
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 2B33-13B6-FAF8-4F4E-A35D
      - 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: D699-E12E-FBF0-4A2C-96D1
      - name: reportType
        in: query
        description: "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 1, 30, 60, and 90 days (relative to the effective report date).\n- \"UsageAtDate\": CRSB storage/endpoints used or seen on the effective report date.\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n- \"Last60Days\": CRSB storage/endpoints used or seen within 60 days before the effective report date.\n- \"Last90Days\": CRSB storage/endpoints used or seen within 90 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T00:00:00.0000000Z
      responses:
        200:
          description: Returns site level CRSB usage statistics for a GSM master keycode by a site keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportCRSB_Site'
              example:
                ReportInfo:
                  Count: 1
                  SiteKeyFilter: 5v1m80veutds6ywfaccu
                  EffectiveDate: 2026-03-17T00:00:00.0000000Z
                  GSMKey: akv87pjexxa9c6cmxi1v
                  ReportType: All
                Sites:
                - SiteId: 2b2a04d0-0383-0209-5fe8-3c7c57487469
                  SiteKey: 5v1m80veutds6ywfaccu
                  SiteName: Site FI4UGH7UA3
                  SiteStatus: active
                  LicenseType: Trial
                  ExpiryDate: 2026-10-23T00:00:00.0000000Z
                  Usage:
                  - Type: UsageAtDate
                    Endpoints: 2
                    TotalStorageUsedStandard: 7
                    TotalStorageUsedCustom: 7
                  - Type: Last30Days
                    Endpoints: 7
                    TotalStorageUsedStandard: 28
                    TotalStorageUsedCustom: 45
                  - Type: Last60Days
                    Endpoints: 15
                    TotalStorageUsedStandard: 55
                    TotalStorageUsedCustom: 72
                  - Type: Last90Days
                    Endpoints: 20
                    TotalStorageUsedStandard: 162
                    TotalStorageUsedCustom: 126
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/sites/0024-7FC9-F7AF-46AE-BB48?reportType=All&effectiveDate=2025-02-24T00:00:00.0000000Z
  /api/status/reporting/crsb/gsm/{gsmKey}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report of "CRSB" usage for a GSM master keycode. For each endpoint the report includes information like the endpoint's hostname, device type and its activation status.
      description: '**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.'
      operationId: StatusReporting_GetUsageReportCRSBEndpoints
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 8443-1014-5E3F-4CBD-8B95
      - name: reportType
        in: query
        description: "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: EndpointsSeenInLast30Days
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 4
        example: 3jVJdksuHgMnVW59
      responses:
        200:
          description: Returns a list of CRSB endpoint usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportGSMEndpoints_CRSB'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: 
                  ContinuationToken: ej3LFjo9mZ69NmFk
                  EffectiveDate: 2026-03-23T00:00:00.0000000Z
                  GSMKey: jttp7q0ctelgn388qpfy
                  ReportType: All
                Endpoints:
                - BackupDeviceId: f23046ad-5fd9-485b-b6b7-2a92d0946d2a
                  SiteId: 3ac46f56-2d98-47a8-5eb5-67b5a7595726
                  SiteKey: 1mj7jb1qgy4dll06x1nz
                  HostName: NODETWPI8MH4TY
                  DeviceType: Windows
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-03-12T12:19:26.9993260Z
                  FirstSeen: 2026-02-15T16:31:26.9993260Z
                  LastSeen: 2026-02-16T16:31:26.9993260Z
                  LastBackup: 2026-03-15T10:40:26.9993260Z
                  SubscriptionType: Active
                  Usage:
                  - Type: Last30Days
                    TotalStorageUsedStandard: 41
                    TotalStorageUsedCustom: 11
                - BackupDeviceId: dc818c9e-9912-4c5c-8a68-b6d136088974
                  SiteId: 32eb35ad-3d47-425b-1412-44ca59c27f9f
                  SiteKey: pm5xtz2ndyxe82q9m3l9
                  HostName: NODEOW5Y53CQBF
                  DeviceType: MAC
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-03-11T13:40:26.9993260Z
                  FirstSeen: 2026-02-04T16:11:26.9993260Z
                  LastSeen: 2026-02-05T16:11:26.9993260Z
                  LastBackup: 2026-03-02T23:51:26.9993260Z
                  SubscriptionType: Active
                  Usage:
                  - Type: Last30Days
                    TotalStorageUsedStandard: 40
                    TotalStorageUsedCustom: 12
      security:
      - UnityAPISecurity:
        - SkyStatus.Reporting
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z
      - lang: HTTP
        label: URL
        source: api/status/reporting/crsb/gsm/B6FB-1BBC-D3E9-4D99-8879/endpoints?reportType=All&effectiveDate=2025-04-24T00:00:00.0000000Z&continuation=n2Lek49F3pOdYt6T
  /api/status/reporting/crsb/gsm/{gsmKey}/sites/{keyCode}/endpoints:
    get:
      tags:
      - 'SkyStatus: Usage Reporting'
      summary: Returns an endpoint-level summary report of "CRSB" usage for a GSM master keycode by a site keycode. For each endpoint the report includes information like the endpoint's hostname, device type and its activation status.
      description: '**Note:** This report can become quite large depending on the number of endpoints that are managed for the given GSM console. The maximum number of returned endpoint records is limited to 10,000 to ensure that requests can complete in reasonable time. If more endpoint records are available a continuationToken is returned as part of the ReportInfo data, which can be used to query additional endpoint data.'
      operationId: StatusReporting_GetUsageReportCRSBEndpoints2
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: A master keycode for which usage information is to be retrieved.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 4F15-2EFF-4800-4939-934B
      - 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: 5F61-36AD-1A19-422E-98FB
      - name: reportType
        in: query
        description: "The type of CRSB report to generate. The following values are supported: \n- \"All\": CRSB storage/endpoints used or seen in the last 30 days (relative to the effective report date).\n- \"Last30Days\": CRSB storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"All\"."
        schema:
          type: string
          nullable: false
        x-position: 3
        example: ActiveEndpointsWithoutHidden
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-09T00:00:00.0000000Z
      - name: continuation
        in: query
        description: The continuation token for batched requests.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: wgXxnKgbRxsWx8AD
      responses:
        200:
          description: Returns a list of CRSB endpoint usage statistics for a GSM master keycode.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UsageReportSiteEndpoints_CRSB'
              example:
                ReportInfo:
                  Count: 2
                  SiteKeyFilter: egw8sjcetytig0rzu4n7
                  ContinuationToken: brSJYAnxjYIpq1k8
                  EffectiveDate: 2026-04-11T00:00:00.0000000Z
                  GSMKey: uwx41x4f0t89oxq884k0
                  ReportType: All
                Endpoints:
                - BackupDeviceId: 1ba58c68-32e6-4820-bcf0-ad9cc8fcf523
                  SiteId: 760a4985-3b0e-695f-3276-6e38181906d7
                  SiteKey: egw8sjcetytig0rzu4n7
                  HostName: NODEDQYPRZ65NA
                  DeviceType: MAC
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-03-27T18:19:27.0305995Z
                  FirstSeen: 2026-02-12T05:52:27.0305995Z
                  LastSeen: 2026-02-13T05:52:27.0305995Z
                  LastBackup: 2026-03-24T18:31:27.0305995Z
                  SubscriptionType: Active
                  Usage:
                  - Type: Last30Days
                    TotalStorageUsedStandard: 48
                    TotalStorageUsedCustom: 29
                - BackupDeviceId: 31b59184-0e85-4009-b930-d26ccf11aeaf
                  SiteId: 760a4985-3b0e-695f-3276-6e38181906d7
                  SiteKey: egw8sjcetytig0rzu4n7
                  HostName: NODE9DEW4CJ33D
                  DeviceType: Windows
                  ActivationStatus: Active
                  ActivationStatusTime: 2026-04-01T00:51:27.0305995Z
                  FirstSeen: 2026-03-03T06:57:27.0305995Z
                  LastSeen: 2026-03-04T06:57:27.0305995Z
                  LastBackup: 2026-03-22T05:50:27.0305995Z
                  SubscriptionType: Active
                  Usage:
                  - Type: Last30Days
                    TotalStorageUsedStandard: 47
                    TotalStorageUsedCustom: 10
      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: 235A-CF03-7BC3-4B17-B318
      - name: reportType
        in: query
        description: "The type of Cloudally report to generate. Supported values include: \n- \"All\": Includes all report types. Equivalent to \"Last30Days\".\n- \"Last30Days\": Cloudally storage/endpoints used or seen within 30 days before the effective report date.\n\n If omitted, the default report type is \"Last30Days\"."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ActiveEndpoints
      - name: effectiveDate
        in: query
        description: "The date the report should refer to. If omitted, the most recent usage report will be returned. \n**Note:** Usage data will typically be generated in the course of the following day (UTC) and therefore can only be provided for dates earlier than yesterday. If, for example, this API method is called at 11:00 pm UTC, yesterday's data will not be available yet."
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-09T00:00: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-04-12T00:00:00.0000000Z
                  PartnerKey: 95m4oonwz7o0lce263rb
                  ReportType: Last30Days
                General:
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2026-10-23T00:00:00.0000000Z
                Products:
                - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1500
                  HighWatermarkGigabytes: 150.5
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Dropbox 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 1200
                  HighWatermarkGigabytes: 120.8
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Google Workspace 1x Daily Backup
                  HighWatermarkEndpoints: 800
                  HighWatermarkGigabytes: 95.299999999999997
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Salesforce Cloud 1x Daily Backup
                  HighWatermarkEndpoints: 500
                  HighWatermarkGigabytes: 75.200000000000003
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 600
                  HighWatermarkGigabytes: 85.700000000000003
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Box 10 GB 1x Daily Backup
                  HighWatermarkEndpoints: 400
                  HighWatermarkGigabytes: 65.099999999999994
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: M365 1x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: MS Exchange 1x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1600
                  HighWatermarkGigabytes: 160.59999999999999
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Dropbox 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 1300
                  HighWatermarkGigabytes: 130.19999999999999
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Google Workspace 3x Daily Backup
                  HighWatermarkEndpoints: 900
                  HighWatermarkGigabytes: 105.8
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Salesforce Cloud 3x Daily Backup
                  HighWatermarkEndpoints: 550
                  HighWatermarkGigabytes: 85.400000000000006
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 650
                  HighWatermarkGigabytes: 95.900000000000006
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: Box 10 GB 3x Daily Backup
                  HighWatermarkEndpoints: 450
                  HighWatermarkGigabytes: 75.299999999999997
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: M365 3x Daily Backup
                  HighWatermarkEndpoints: 2200
                  HighWatermarkGigabytes: 220.69999999999999
                  HighWatermarkDate: 2026-04-02T00:00:00.0000000Z
                - ProductName: MS Exchange 3x Daily Backup
                  HighWatermarkEndpoints: 2000
                  HighWatermarkGigabytes: 200.90000000000001
                  HighWatermarkDate: 2026-04-02T00: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: D7DF-3938-3D16-44FC-B646
      - 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-04-09T00: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-03-21T00:00:00.0000000Z
                  PartnerKey: ouutvucmnjxg7j8drzbb
                  ReportType: Last30Days
                General:
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2026-04-20T00:00:00.0000000Z
                Customers:
                - CustomerKey: 2ycuf2o538j2bjplbfze
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2026-04-20T00:00:00.0000000Z
                  Products:
                  - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1500
                    HighWatermarkGigabytes: 150.5
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 120.8
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Workspace 1x Daily Backup
                    HighWatermarkEndpoints: 800
                    HighWatermarkGigabytes: 95.299999999999997
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 1x Daily Backup
                    HighWatermarkEndpoints: 500
                    HighWatermarkGigabytes: 75.200000000000003
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 600
                    HighWatermarkGigabytes: 85.700000000000003
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Box 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 400
                    HighWatermarkGigabytes: 65.099999999999994
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 1x Daily Backup
                    HighWatermarkEndpoints: 1800
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: MS Exchange 1x Daily Backup
                    HighWatermarkEndpoints: 1800
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1600
                    HighWatermarkGigabytes: 160.59999999999999
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 1300
                    HighWatermarkGigabytes: 130.19999999999999
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Workspace 3x Daily Backup
                    HighWatermarkEndpoints: 900
                    HighWatermarkGigabytes: 105.8
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 3x Daily Backup
                    HighWatermarkEndpoints: 550
                    HighWatermarkGigabytes: 85.400000000000006
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 650
                    HighWatermarkGigabytes: 95.900000000000006
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Box 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 450
                    HighWatermarkGigabytes: 75.299999999999997
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 3x Daily Backup
                    HighWatermarkEndpoints: 1900
                    HighWatermarkGigabytes: 190.5
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: MS Exchange 3x Daily Backup
                    HighWatermarkEndpoints: 1910
                    HighWatermarkGigabytes: 180.5
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                - CustomerKey: gnx8r1my982d19h0r9o3
                  CustomerName: Customer 2
                  CustomerId: CUST002
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2026-04-20T00:00:00.0000000Z
                  Products:
                  - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 110
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 1000
                    HighWatermarkGigabytes: 110.8
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Workspace 1x Daily Backup
                    HighWatermarkEndpoints: 850
                    HighWatermarkGigabytes: 95.299999999999997
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 1x Daily Backup
                    HighWatermarkEndpoints: 570
                    HighWatermarkGigabytes: 75.200000000000003
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 620
                    HighWatermarkGigabytes: 85.700000000000003
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Box 10 GB 1x Daily Backup
                    HighWatermarkEndpoints: 410
                    HighWatermarkGigabytes: 65.099999999999994
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 1x Daily Backup
                    HighWatermarkEndpoints: 1500
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: MS Exchange 1x Daily Backup
                    HighWatermarkEndpoints: 1900
                    HighWatermarkGigabytes: 180.40000000000001
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 Files & Collab 3x Daily 10 GB Backup
                    HighWatermarkEndpoints: 1200
                    HighWatermarkGigabytes: 160.59999999999999
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Dropbox 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 1100
                    HighWatermarkGigabytes: 130.19999999999999
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Workspace 3x Daily Backup
                    HighWatermarkEndpoints: 700
                    HighWatermarkGigabytes: 105.8
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Salesforce Cloud 3x Daily Backup
                    HighWatermarkEndpoints: 450
                    HighWatermarkGigabytes: 85.400000000000006
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Google Shared Drives 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 350
                    HighWatermarkGigabytes: 95.900000000000006
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: Box 10 GB 3x Daily Backup
                    HighWatermarkEndpoints: 350
                    HighWatermarkGigabytes: 75.299999999999997
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: M365 3x Daily Backup
                    HighWatermarkEndpoints: 1600
                    HighWatermarkGigabytes: 190.5
                    HighWatermarkDate: 2026-03-21T00:00:00.0000000Z
                  - ProductName: MS Exchange 3x Daily Backup
                    HighWatermarkEndpoints: 1410
                    HighWatermarkGigabytes: 180.5
                    HighWatermarkDate: 2026-03-21T00: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: 291E-EE0A-BEA0-4263-815F
      - 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: E3DC-AF46-AE5A-408D-9358
      - 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-04-09T00: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: qfthhqypo12l35mkhajo
                  EffectiveDate: 2026-04-10T00:00:00.0000000Z
                  PartnerKey: bva7sizncno5hdurnaf3
                  ReportType: All
                General:
                  CustomerName: Customer 1
                  CustomerId: CUST001
                  CustomerLicenseType: full
                  CustomerExpiryDate: 2026-09-22T00:00:00.0000000Z
                  PartnerName: 
                  PartnerId: PART001
                  PartnerLicenseType: full
                  PartnerExpiryDate: 2026-09-22T00:00:00.0000000Z
                Products:
                - ProductName: M365 Files & Collab 1x Daily 10 GB Backup
                  HighWatermarkEndpoints: 1500
                  HighWatermarkGigabytes: 150.5
                  HighWatermarkDate: 2026-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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-04-09T00: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: 234A-205D-04E8-41BC-92D6
      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/234A-205D-04E8-41BC-92D6/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: 5E59-C63C-ED67-4489-BABF
      - name: userEmail
        in: query
        required: true
        description: The e-mail address of the user which should be added as an API-only super admin to a GSM console.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: apiuser@mydomain.com
      - name: confirmEmail
        in: query
        required: true
        description: The e-mail address where the confirmation message for approving the access request was sent to.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: admin@mydomain.com
      responses:
        200:
          description: The status of a GSM add admin access request.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GSMSuperAdminStatusResponseModel'
              example:
                Status: PendingApproval
                InitiatedDate: 2026-04-11T07:23:27.3899848Z
                StatusChangeDate: 2026-04-14T00:23:27.3899848Z
      security:
      - UnityAPISecurity:
        - Console.Access
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/access/gsm/5E59-C63C-ED67-4489-BABF/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: 3147-3EE9-C571-4A5A-8031
      responses:
        200:
          description: Information about a given GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMDetailsResponseModel'
              example:
                GSMConsoleName: GSM Test Console
                CreatedDate: 2025-11-14T07:23:27.5306252Z
                EndDate: 2027-04-14T07:23:27.5306252Z
                RemainingDays: 151
                LicenseType: Full
                TotalSeatsAllowed: 800
                TotalSites: 500
                DeactivatedSites: 14
                CompanyEmail: test1@webroot.com
                CompanyPhone: 07124485
                CompanyAddress: ''
                Modules:
                - Type: DNSP
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: WSAT
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: OTEDR
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: SAEP
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRCS
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRCB
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: PLRM
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-04-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
                - Type: CRSB
                  Seats: 800
                  LicenseType: Full
                  EndDate: 2027-02-14T07:23:27.5306252Z
                  ProvisioningStatus:
                    Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3147-3EE9-C571-4A5A-8031
  /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: 2B0B-D0A9-2C97-478D-83E1
      - name: siteKeycode
        in: path
        required: true
        description: The site keycode to look up.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 94D0-A102-94A9-4D05-8EB1
      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: adb21252-5910-4582-9877-bb04099f23a4
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 02E0-130B-F237-4DC8-A09D
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2026-10-14T07:23:27.6337975Z
                  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: e9a6aba5-cb77-4365-a3f8-47464ebf4deb
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: CRSB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.6337975Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2B0B-D0A9-2C97-478D-83E1/lookupsite/94D0-A102-94A9-4D05-8EB1
  /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: 37D5-0C2F-3CE7-40FC-A4E3
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsEndpointProtectionResponseModel'
              example:
                TotalDevicesInstalled: 165
                TotalDevicesInfected: 0
                RequiringAttention: 0
                WithActiveThreats: 0
                ParentSeats: 330
                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/37D5-0C2F-3CE7-40FC-A4E3/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: B19C-266F-FB46-4878-85E2
      - 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: a79ae89c-0829-4dfd-ae46-4018714cd71f
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsEndpointProtectionResponseModel'
              example:
                TotalDevicesInstalled: 310
                TotalDevicesInfected: 0
                RequiringAttention: 0
                WithActiveThreats: 0
                ParentSeats: 620
                TotalDevicesAllowed: 0
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/B19C-266F-FB46-4878-85E2/sites/a79ae89c-0829-4dfd-ae46-4018714cd71f/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: 6ADE-6373-5B6C-4D24-9D49
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsDNSPResponseModel'
              example:
                TotalDevicesActive: 560
                TotalDevicesInactive: 90
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/6ADE-6373-5B6C-4D24-9D49/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: B99D-758E-49F8-43C3-995E
      - 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: ec57051e-992d-4ee9-90c0-8074142b9b06
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsDNSPResponseModel'
              example:
                SiteId: 59e61275-1dbf-4778-aa83-7018992fe5a7
                SiteName: DNS Site
                DevicesActive: 710
                DevicesInactive: 70
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/B99D-758E-49F8-43C3-995E/sites/ec57051e-992d-4ee9-90c0-8074142b9b06/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: 0D5B-A672-87A8-49D1-A522
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsWSATResponseModel'
              example:
                TotalPhishingCampaigns: 10
                TotalTrainingCampaigns: 38
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/0D5B-A672-87A8-49D1-A522/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: 3997-762A-ACAC-419E-A5C5
      - 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: a89e2095-2250-482a-8f54-71c574b10553
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsWSATResponseModel'
              example:
                SiteId: 8a2f6ff3-8764-46c6-8be5-b54750ab1cef
                SiteName: DNS Site
                PhishingCampaigns: 48
                TrainingCampaigns: 12
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3997-762A-ACAC-419E-A5C5/sites/a89e2095-2250-482a-8f54-71c574b10553/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: D63A-2414-CE6F-4C7E-A1C6
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetGSMStatisticsCRSBResponseModel'
              example:
                Pending: 32
                Protected: 22
                PartiallyProtected: 31
                NeedsAttention: 34
                ScheduledForDeletion: 39
                Expired: 34
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D63A-2414-CE6F-4C7E-A1C6/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: 7F07-21B2-AC59-433F-AB4B
      - 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: 8b7f6b77-de88-4071-a8da-12049feb44d1
      responses:
        200:
          description: Statistics about the desired GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSiteStatisticsCRSBResponseModel'
              example:
                SiteId: 11a12aca-aa32-46de-b447-cb470c4cbe33
                SiteName: CRSB Site
                Pending: 16
                Protected: 38
                PartiallyProtected: 25
                NeedsAttention: 35
                ScheduledForDeletion: 33
                Expired: 23
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/7F07-21B2-AC59-433F-AB4B/sites/8b7f6b77-de88-4071-a8da-12049feb44d1/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: B632-EAD7-141C-42DF-964D
      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: 6CA0-8D53-BC9F-4590-B1AD
                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/B632-EAD7-141C-42DF-964D/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: AE4C-13E1-9BEB-40EC-87A5
      - 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: aa439be8-5f41-4c3e-b03f-c285fa0d04c9
      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: 549E-B63E-3F7B-41A9-8132
                SiteId: 880519ac-7c6d-4fd5-a3ba-734d4fd8d2ca
                AccountKeyCode: 164D-1E13-1615-48C8-99A1
                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/AE4C-13E1-9BEB-40EC-87A5/sites/aa439be8-5f41-4c3e-b03f-c285fa0d04c9/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: 8D66-5275-6B59-4D14-9EA3
      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: f305595f-ff7c-4baa-b90e-ba55c93b366e
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 3432-7C7C-F102-49F5-A125
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2026-10-14T07:23:27.8747842Z
                  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: c11baff1-72f6-4365-bcf3-1797d9c29702
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: CRSB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                - SiteId: 6d07828e-f34b-467c-96d8-807c92947977
                  SiteName: Site 2
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: 8350-7F80-4093-4FDF-81BF
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2027-04-14T07:23:27.8747842Z
                  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: a3350cbc-19fc-45ae-8f22-4720ea618785
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: CRSB
                    LicenseType: Full
                    EndDate: 2027-04-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8D66-5275-6B59-4D14-9EA3/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: 92AF-9B0A-6BF9-4E5D-8E68
      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: 96597090-d0ba-4416-8fb0-61d7e9707ba0
              Emails: test@webroot.com
              Trial: false
              Modules:
              - Type: DNSP
                LicenseType: Trial
                Enable: true
              - Type: WSAT
                LicenseType: Trial
                Enable: true
              - Type: OTEDR
                LicenseType: Full
                Enable: true
              - Type: SAEP
                LicenseType: Full
                Enable: true
              - Type: PLRCS
                LicenseType: Full
                Enable: true
              - Type: PLRCB
                LicenseType: Full
                Enable: true
              - Type: PLRM
                LicenseType: Full
                Enable: true
              - Type: CRSB
                LicenseType: Full
                Enable: true
        required: true
        x-position: 2
      responses:
        200:
          description: Key information about the newly created site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/CreateGSMSiteResponseModel'
              example:
                KeyCode: 2198-864A-1ADF-4C0B-8138
                SiteId: f9889c8b-5382-404c-a298-32a686c1e2c2
                PCAccess: 128
                MSAccess: 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/92AF-9B0A-6BF9-4E5D-8E68/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: D832-2AAA-E081-4588-A6F8
      - 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: aede29d3-b362-4f65-add7-cdbb7e19f9ed
      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: 86830a9d-d832-4d75-82b0-c687a77a4bb2
                  SiteName: Site 1
                  SiteType: R
                  TotalEndpoints: 24
                  PCsInfected24: 0
                  AccountKeyCode: B08D-1365-6270-4BE7-A994
                  DevicesAllowed: 100
                  MobileSeats: 5
                  Deactivated: false
                  Suspended: false
                  EndDate: 2026-10-14T07:23:27.8747842Z
                  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: 2af4de88-494d-40ae-958f-d058670d6376
                  PolicyName: Test policy
                  PolicyDescription: Sample policy for testing
                  Emails: test@webroot.com
                  AccessLevel: 128
                  Modules:
                  - Type: DNSP
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: WSAT
                    LicenseType: Trial
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: OTEDR
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: SAEP
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCS
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRCB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: PLRM
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
                  - Type: CRSB
                    LicenseType: Full
                    EndDate: 2026-10-14T07:23:27.8747842Z
                    ProvisioningStatus:
                      Status: Success
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D832-2AAA-E081-4588-A6F8/sites/aede29d3-b362-4f65-add7-cdbb7e19f9ed
    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: B052-DAC1-7B6A-4B1C-9CD9
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 76cadf54-94ca-444d-91e0-cc1639532570
      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: c1402c4d-6533-4e31-883a-e6c812c23fc1
              Emails: test@webroot.com
              Modules:
              - Type: DNSP
                LicenseType: Trial
                Enable: true
              - Type: WSAT
                LicenseType: Trial
                Enable: true
              - Type: OTEDR
                LicenseType: Full
                Enable: true
              - Type: SAEP
                LicenseType: Full
                Enable: true
              - Type: PLRCS
                LicenseType: Full
                Enable: true
              - Type: PLRCB
                LicenseType: Full
                Enable: true
              - Type: PLRM
                LicenseType: Full
                Enable: true
              - Type: CRSB
                LicenseType: Full
                Enable: true
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/B052-DAC1-7B6A-4B1C-9CD9/sites/76cadf54-94ca-444d-91e0-cc1639532570
  /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: 149C-F8BD-11E2-484B-85D7
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f0553771-ff0c-4765-8496-b6d65a2ae6ba
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/149C-F8BD-11E2-484B-85D7/sites/f0553771-ff0c-4765-8496-b6d65a2ae6ba/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: E417-A84C-E53D-4D2E-9755
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 0b77087b-e5df-40e7-a35b-67e465650090
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/E417-A84C-E53D-4D2E-9755/sites/0b77087b-e5df-40e7-a35b-67e465650090/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: 17A5-E531-0DCC-4CEC-80BE
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 1d01e4e9-5461-49eb-8845-538f48bfc8db
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/17A5-E531-0DCC-4CEC-80BE/sites/1d01e4e9-5461-49eb-8845-538f48bfc8db/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: 1474-9E0D-F0EA-4E8C-9D6E
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: d23e3aea-d02a-4ddb-9af0-5c2a149ce2fd
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/1474-9E0D-F0EA-4E8C-9D6E/sites/d23e3aea-d02a-4ddb-9af0-5c2a149ce2fd/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: C9A2-7AC1-215D-4485-B3CC
      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: f7fd3f84-9e0e-4fc7-9a7c-c734640770fc
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07270139
                  OfficeTel: 01487574
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
                - UserId: 9c07c66e-f00e-474e-a60d-4a1a507b1724
                  Email: test2@webroot.com
                  FirstName: Test2
                  LastName: User2
                  DisplayName: Test2 User2
                  MobileTel: 07250802
                  OfficeTel: 01862850
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C9A2-7AC1-215D-4485-B3CC/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: 0FAA-CD56-0643-4364-A7CE
      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: 11111f13-baab-4a9d-adfa-3e2d17dd0a7c
                Email: jdoe@domain.com
                FirstName: Jane
                LastName: Doe
                DisplayName: Jane Doe
                MobileTel: 07182971
                OfficeTel: 01146381
                UserState: Activated
                AccessLevel: 128
                MSPUser: false
                Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/0FAA-CD56-0643-4364-A7CE/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: 545D-321A-CF56-46E7-88DC
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to query information for.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 5cbf2855-69ba-4adc-a64d-58570c554a3b
      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: 91b4a6b8-4724-41e5-9c4f-3e9f1608a461
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07500683
                  OfficeTel: 01879395
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/545D-321A-CF56-46E7-88DC/admins/5cbf2855-69ba-4adc-a64d-58570c554a3b
    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: FD51-AE67-A0BC-4EBF-A01B
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to modify.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 98c15a1c-aba7-4bf9-9a34-fbe1ff5ea670
      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/FD51-AE67-A0BC-4EBF-A01B/admins/98c15a1c-aba7-4bf9-9a34-fbe1ff5ea670
    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: 3ED0-F746-4140-447E-8A70
      - name: userId
        in: path
        required: true
        description: Identifier of the admin to remove.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 810beca8-bcba-47ad-ae39-381608c8c3ca
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3ED0-F746-4140-447E-8A70/admins/810beca8-bcba-47ad-ae39-381608c8c3ca
  /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: 5329-E814-7F83-4A01-8476
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 7c329b17-25fc-4a83-aa6d-9ee53bdd9b57
      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: 5c50921a-28db-45d1-887c-289ca371333e
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07792670
                  OfficeTel: 01291867
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
                - UserId: 1e1ba582-8aca-42f3-856b-1f548ff40ed1
                  Email: test2@webroot.com
                  FirstName: Test2
                  LastName: User2
                  DisplayName: Test2 User2
                  MobileTel: 07240299
                  OfficeTel: 01117727
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/5329-E814-7F83-4A01-8476/sites/7c329b17-25fc-4a83-aa6d-9ee53bdd9b57/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: BD17-918C-2C5F-4F1A-B20F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f027112d-698c-4e35-aa7e-bfcb325841b2
      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: 7f069d16-dbb0-435f-87c9-23a0a1d946bb
                Email: jdoe@domain.com
                FirstName: Jane
                LastName: Doe
                DisplayName: Jane Doe
                MobileTel: 07133916
                OfficeTel: 01867525
                UserState: Activated
                AccessLevel: 128
                MSPUser: false
                Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/BD17-918C-2C5F-4F1A-B20F/sites/f027112d-698c-4e35-aa7e-bfcb325841b2/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: 89E2-5C52-ABB3-46A0-ADBD
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f0491894-84b5-4fa4-80d1-abdd040e8de9
      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: 41b4d4f0-d77c-4eba-abf5-ffbb19aa7978
                AccessLevel: 128
              - UserId: e69c6690-3e38-4d80-8432-0190d25c7ad6
                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/89E2-5C52-ABB3-46A0-ADBD/sites/f0491894-84b5-4fa4-80d1-abdd040e8de9/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: 3534-3DC4-ED3A-46E3-8904
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 3431fb7f-a16d-436f-991b-f1bd87a35181
      - name: userId
        in: path
        required: true
        description: The admin identifier to query information for.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 18223885-0aaf-4850-85d5-e3eddc6f7791
      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: 1cd9e2dc-e489-4aac-bc65-c7f66dc11eae
                  Email: test1@webroot.com
                  FirstName: Test1
                  LastName: User1
                  DisplayName: Test1 User1
                  MobileTel: 07323839
                  OfficeTel: 01583522
                  UserState: Activated
                  AccessLevel: 128
                  MSPUser: false
                  Confirmed: true
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/3534-3DC4-ED3A-46E3-8904/sites/3431fb7f-a16d-436f-991b-f1bd87a35181/admins/18223885-0aaf-4850-85d5-e3eddc6f7791
    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: 9A77-02ED-0F36-425C-ADF8
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 99150066-1e48-46f3-b821-b6b6913d13c1
      - name: userId
        in: path
        required: true
        description: The identifier of the admin to modify.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 4ea02cd9-bde6-456a-8cbe-4b246d9f186f
      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/9A77-02ED-0F36-425C-ADF8/sites/99150066-1e48-46f3-b821-b6b6913d13c1/admins/4ea02cd9-bde6-456a-8cbe-4b246d9f186f
    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: 74C6-0794-D38B-408D-BADF
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 84fc8743-0447-4abc-b189-5593f08d7bd5
      - name: userId
        in: path
        required: true
        description: The identifier of the admin to remove.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: d3ba8675-a2c9-47f6-afcc-873866ca13a0
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/74C6-0794-D38B-408D-BADF/sites/84fc8743-0447-4abc-b189-5593f08d7bd5/admins/d3ba8675-a2c9-47f6-afcc-873866ca13a0
  /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: 6E9E-8E5D-4FBC-4AFE-9EA7
      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: 5d0df7d7-d0db-4c7c-9fa4-d3b4f132063b
                  DateCreated: 2026-02-14T07:23:28.3438264Z
                  PolicyName: Test Policy 1
                  LivePolicy: true
                  PendingPolicy: false
                  PolicyDescription: Description of test policy 1
                  Deleted: false
                  Canned: false
                  DefaultSetting: false
                  PolicyType: Advanced
                - PolicyId: a800142d-d35f-4ba4-a36b-5b14f20f2231
                  DateCreated: 2025-12-14T07:23:28.3438264Z
                  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/6E9E-8E5D-4FBC-4AFE-9EA7/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: 340A-A851-7FBC-4D72-8AC9
      - 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: 35c89fde-abcd-49b9-a0f6-94bdc48d1f7b
      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: 1e176a7c-4c67-4de4-8b20-4f798c18ba74
                  DateCreated: 2026-02-14T07:23:28.3594604Z
                  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/340A-A851-7FBC-4D72-8AC9/policies/35c89fde-abcd-49b9-a0f6-94bdc48d1f7b
  /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: 5DB5-FB09-4A6A-49A9-B3B8
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 7adfdaad-e101-45d4-b613-3baa65e3a079
      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: a08371ae-eed9-4b02-ac38-ada400df455e
                  DateCreated: 2026-02-14T07:23:28.4063303Z
                  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: 5bf0365a-599c-4000-a016-8b171136a8e4
                  DateCreated: 2025-12-14T07:23:28.4063303Z
                  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/5DB5-FB09-4A6A-49A9-B3B8/sites/7adfdaad-e101-45d4-b613-3baa65e3a079/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: FB23-45A1-C32E-45E4-B275
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 40532424-7d12-4d32-94bc-5de86b67de00
      - 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: 2622e225-f44e-4656-9368-98644b3eb054
      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: 5c86bb0e-d62b-4a4e-b971-66dc99a10da6
                  DateCreated: 2026-02-14T07:23:28.4219517Z
                  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/FB23-45A1-C32E-45E4-B275/sites/40532424-7d12-4d32-94bc-5de86b67de00/policies/2622e225-f44e-4656-9368-98644b3eb054
  /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: 5302-0A6D-3A12-4AF7-94B4
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: def6c385-79a2-4bc2-8a50-6f426c9359cb
      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: 27
                  GroupCode: -412412049
                  GroupId: 0336001f-afb9-428e-ae43-0308777deb2a
                  GroupName: Test Group 1
                  GroupDescription: Description of test group 1
                  GroupPolicyId: 869ad5d9-b665-4de8-ad31-7c99e181bc69
                  GroupPolicyName: Test Policy 1
                - Endpoints: 94
                  GroupCode: -388996147
                  GroupId: a0a903e8-6580-4cdd-baff-ca7fd6f632d8
                  GroupName: Test Group 2
                  GroupDescription: Description of test group 2
                  GroupPolicyId: 01941a2e-9d81-4233-936c-8750999f12c7
                  GroupPolicyName: Test Policy 2
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/5302-0A6D-3A12-4AF7-94B4/sites/def6c385-79a2-4bc2-8a50-6f426c9359cb/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: C2D0-FECA-ADB4-442E-B805
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: eff431cc-b9cd-48d3-8a2a-a957155466b6
      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: 793b1a6d-175a-4ea3-860a-1f5fd129c3d4
        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: 42817e32-aaf2-4009-9429-2430c76625ff
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C2D0-FECA-ADB4-442E-B805/sites/eff431cc-b9cd-48d3-8a2a-a957155466b6/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: 2478-92EC-5EE0-4E33-B49F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 6e3dbb05-c469-4d15-b83f-d0880529b7c2
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 2d5d4049-57ee-4a03-83b6-a18d7a22bf6b
      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: 36
                  GroupCode: -902159885
                  GroupId: 10076f23-a776-4082-add9-27cb82da768d
                  GroupName: Test Group 1
                  GroupDescription: Description of test group 1
                  GroupPolicyId: 6f4d5c8c-9241-4f7f-9192-055aa4eb145c
                  GroupPolicyName: Test Policy 1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/2478-92EC-5EE0-4E33-B49F/sites/6e3dbb05-c469-4d15-b83f-d0880529b7c2/groups/2d5d4049-57ee-4a03-83b6-a18d7a22bf6b
    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: 5583-4120-0B34-491A-8E7D
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 891167eb-ca17-4b29-af85-dc1925082808
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 5346580b-4276-4b70-9d0b-5db64cc84f61
      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: bdf233f2-26bd-4d61-a0eb-1845ea739059
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/5583-4120-0B34-491A-8E7D/sites/891167eb-ca17-4b29-af85-dc1925082808/groups/5346580b-4276-4b70-9d0b-5db64cc84f61
    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: F595-45FB-1FB3-40F6-B2B2
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 39c98c17-621a-44f1-b099-4119372ca4f0
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 0f405740-1d3c-41ac-a9a6-904e1f6a30b0
      - 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: 012b3950-bac4-454d-870b-180633611e30
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/F595-45FB-1FB3-40F6-B2B2/sites/39c98c17-621a-44f1-b099-4119372ca4f0/groups/0f405740-1d3c-41ac-a9a6-904e1f6a30b0
  /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: 524D-716C-10D2-42F4-BBC2
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 62d8de49-706b-4f9f-bed7-931385aa16c9
      - 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: 9EA09ADA53D24CE49C10544A0A70BFB4:::F1A10694030B4AC099BC2932B323E288:::F1A10694030B4AC099BC2932B323E288
      - name: order
        in: query
        description: Used to determine the order field. Valid values are "hostname", "firstseen", "lastseen", "agentversion", "lastinfected". Default value is "hostname".
        schema:
          type: string
          nullable: false
        x-position: 6
        example: hostname
      - name: orderDirection
        in: query
        description: Used to sort the data. "A" for ascending, "D" for descending. If *orderDirection* is omitted or invalid, the data will be sorted in ascending order.
        schema:
          type: string
          nullable: false
        x-position: 7
        example: D
      - name: pageSize
        in: query
        description: Specifies the number of records being returned.
        schema:
          type: integer
          format: int32
          default: 50
          nullable: false
        x-position: 8
        example: 100
      - name: pageNr
        in: query
        description: Specifies the page number. Can be used to retrieve the next batch of records. Default value is 1.
        schema:
          type: integer
          format: int32
          default: 1
          nullable: false
        x-position: 9
        example: 47
      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: b2ba98ce-b942-4e2c-a070-13f87057e42c
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2025-11-14T07:23:28.6563393Z
                  LastSeen: 2025-11-14T07:23:28.6563393Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 45FB-5B93-7B32-49A9-9D24
                  Expired: false
                  LastChangesUserId: 832003e9-e228-47db-b8ad-35717fd8bdf4
                  MachineId: FA491B30484D44639D50D3741DF54BDF:::72AD98BFD8184A73A7185B312898375F:::72AD98BFD8184A73A7185B312898375F
                  PolicyId: c627cce4-e35e-4451-8875-79c0b06cf698
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 86468e35-c1af-406b-bcbe-f2d439a9eda5
                  PolicyName: Test Policy
                  LastInfected: 2026-01-14T07:23:28.6563393Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.74.235.174
                  MACAddress: 33-0D-0C-D1-11-3A
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.200.49.17
                  Deactivated: false
                  LastScanSeq: 2099312950
                  ModifiedDate: 2026-04-07T07:23:28.6563393Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
                - Seq: 2
                  EndpointId: 024f0ce4-751b-4544-8048-6c0a26a714e6
                  HostName: MyComputer2
                  GroupName: Test Group
                  FirstSeen: 2025-06-14T07:23:28.6563393Z
                  LastSeen: 2025-06-14T07:23:28.6563393Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 45FB-5B93-7B32-49A9-9D24
                  Expired: false
                  LastChangesUserId: e01f060a-cea7-445a-815d-dd35f61bda86
                  MachineId: C959EA36045043D0B1BDBB62C5483F7F:::272811CFC032435B850EF85B2CBF5197:::272811CFC032435B850EF85B2CBF5197
                  PolicyId: 8fe8637f-cb90-4df7-a820-4f0cdecc4029
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: d97a3b92-f551-488d-b0ec-b956fcd1e285
                  PolicyName: Test Policy
                  LastInfected: 2025-10-14T07:23:28.6563393Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 4
                  InternalIP: 10.38.52.213
                  MACAddress: 3E-99-23-45-54-73
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.135.106.34
                  Deactivated: false
                  LastScanSeq: 998783382
                  ModifiedDate: 2026-03-31T07:23:28.6563393Z
                  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: 75D6-49A2-53A6-48B0-97C0
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: b8df07ff-9a6c-40fd-92b7-3e87ee16c1be
      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: 99e81389-50af-4ef4-9238-aeef39432626
              TargetGroupId: 6442067f-92eb-4a7c-86f6-f97e5234f7d1
              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/75D6-49A2-53A6-48B0-97C0/sites/b8df07ff-9a6c-40fd-92b7-3e87ee16c1be/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: 14B8-CC22-9CC6-4112-AAEF
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: d153348b-a767-4c3d-88bf-90966135444c
      - name: endpointId
        in: path
        required: true
        description: The endpoint identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 92feb9ad-d3a6-48ad-9f4e-1d90758be86f
      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: ca6fd417-7979-4646-a7f1-d67e9fd1251c
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2025-11-14T07:23:28.6719510Z
                  LastSeen: 2025-11-14T07:23:28.6719510Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 7EA4-A895-0C88-4D4E-A8EA
                  Expired: false
                  LastChangesUserId: aac90002-9a73-431c-9e3f-18c2390419b1
                  MachineId: E8FD02EEB27A42AB8AD8C9D85CE053F1:::1FD3BAAE78914D8F8DB6F1D08778D1A1:::1FD3BAAE78914D8F8DB6F1D08778D1A1
                  PolicyId: c9ba5110-bf80-49e8-b8d1-85317c34788d
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 5fcf9ed8-6824-46f4-8965-75e8084d2349
                  PolicyName: Test Policy
                  LastInfected: 2026-01-14T07:23:28.6719510Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.46.245.245
                  MACAddress: 08-3F-36-F3-0D-CD
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.70.39.65
                  Deactivated: false
                  LastScanSeq: 345543632
                  ModifiedDate: 2026-04-07T07:23:28.6719510Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/14B8-CC22-9CC6-4112-AAEF/sites/d153348b-a767-4c3d-88bf-90966135444c/endpoints/92feb9ad-d3a6-48ad-9f4e-1d90758be86f
  /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: 3BFC-E7D1-B411-42A5-956A
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: bc3de645-ea66-48e8-b4a0-72ffdf439713
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: f9e54a6d-3b51-43fb-a6e0-1881af0c3e84
      - 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: 40
      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: b57baeae-e33c-46eb-9ebe-52868e306fc6
                  HostName: MyComputer1
                  GroupName: Test Group
                  FirstSeen: 2025-11-14T07:23:28.7032261Z
                  LastSeen: 2025-11-14T07:23:28.7032261Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 32EA-0C03-86FE-429E-A98B
                  Expired: false
                  LastChangesUserId: 5b031968-eaef-4d23-aeef-0ca59724b16c
                  MachineId: 7E4EAE8F17134817B45C57029609DCC2:::F6801C5EDFC1433BA1101F1130531E64:::F6801C5EDFC1433BA1101F1130531E64
                  PolicyId: 5718ed6a-e6da-46d8-935f-fa708bb0358d
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: e1824cb9-dafd-4c4d-b43c-5f99b0560715
                  PolicyName: Test Policy
                  LastInfected: 2026-01-14T07:23:28.7032261Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 2
                  InternalIP: 10.208.138.235
                  MACAddress: 8C-A6-2A-9F-E3-8F
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.156.206.146
                  Deactivated: false
                  LastScanSeq: 307260468
                  ModifiedDate: 2026-04-07T07:23:28.7032261Z
                  IsolationStatus: UNISOLATED
                  ActiveModules:
                  - endpoint
                - Seq: 2
                  EndpointId: 7224d897-b30a-412e-9e23-b990bd782496
                  HostName: MyComputer2
                  GroupName: Test Group
                  FirstSeen: 2025-06-14T07:23:28.7032261Z
                  LastSeen: 2025-06-14T07:23:28.7032261Z
                  AgentVersion: 9.0.13.58
                  LicenseKey: 32EA-0C03-86FE-429E-A98B
                  Expired: false
                  LastChangesUserId: 34fb2bfe-3872-4cec-abe9-1be70add0dfc
                  MachineId: 8D4E46129D0242DE8F3CCB113C072796:::F1E020EAF1F4479387667B622788F48D:::F1E020EAF1F4479387667B622788F48D
                  PolicyId: f77461ec-c525-4fb2-be6b-62dccd9c429c
                  VM: false
                  AgentLanguage: en
                  FriendlyPCName: ''
                  GroupId: 36633230-4dfb-4a8e-8bde-c6dadf50e77e
                  PolicyName: Test Policy
                  LastInfected: 2025-10-14T07:23:28.7032261Z
                  InfectedNow: false
                  NumUsers: 1
                  MaxUsers: 4
                  InternalIP: 10.102.203.181
                  MACAddress: 60-92-0E-CE-73-0E
                  ADDomain: domain.webroot.com
                  ADOU: Webroot.Computers
                  Workgroup: WORKGROUP
                  CurrentUser: Paul
                  Mac: false
                  WindowsFullOS: Windows 7 Service Pack 1 (Build 7601) 64bit
                  LastPublicIP: 95.142.213.152
                  Deactivated: false
                  LastScanSeq: 2113641209
                  ModifiedDate: 2026-03-31T07:23:28.7032261Z
                  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: B865-4994-6515-486E-9520
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: fbc99349-3195-45f4-a40e-5a8c6dc9ae39
      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: 00453d3b-9923-42a4-a1f7-a67c524bebd2,135303ab-ebbc-4631-b6a7-9273053b0201
              PolicyId: f949a9fa-3fa4-40f8-b209-f08830fe308b
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/B865-4994-6515-486E-9520/sites/fbc99349-3195-45f4-a40e-5a8c6dc9ae39/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: D2C1-1189-8410-45FA-A3A7
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 006bbd70-9a0c-4a11-b316-a72662a4dfe1
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: d299fa8a-e637-4004-8dfd-1a7178d70675
      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: 934cd07d-8274-4601-a1df-636a10aba9f5
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D2C1-1189-8410-45FA-A3A7/sites/006bbd70-9a0c-4a11-b316-a72662a4dfe1/groups/d299fa8a-e637-4004-8dfd-1a7178d70675/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: 8245-F799-84F8-4E97-9798
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 95a4938c-3e57-4d9a-813a-b37a753f9e13
      requestBody:
        x-name: commandInformation
        description: Additional information for reactivating endpoints.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SetCommandReOrDeactivateRequestModel'
            example:
              EndpointsList: 8d8f2a90-6337-4e05-9f1f-19e674293c47,57bb762b-7214-4696-b4e4-4ecfb8968c1d
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8245-F799-84F8-4E97-9798/sites/95a4938c-3e57-4d9a-813a-b37a753f9e13/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: 9AC1-2214-6A11-4E83-8546
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: c967d7b5-d0ff-4c29-9053-90bbf6b47902
      requestBody:
        x-name: commandInformation
        description: Additional information for deactivating endpoints.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SetCommandReOrDeactivateRequestModel'
            example:
              EndpointsList: 93545438-dff5-4d8c-8aa5-17375cd6834b,815a8668-c1d7-4276-be1b-6857c521ad4b
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/9AC1-2214-6A11-4E83-8546/sites/c967d7b5-d0ff-4c29-9053-90bbf6b47902/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: 8CCC-7B72-742D-4F5B-A39B
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: bb24a2b1-286d-4380-a339-18d22a3a441c
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 16c91f3f-e17a-4996-8ca1-779cbce627f6
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8CCC-7B72-742D-4F5B-A39B/sites/bb24a2b1-286d-4380-a339-18d22a3a441c/groups/16c91f3f-e17a-4996-8ca1-779cbce627f6/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: 549D-26B0-614B-4F30-BEDB
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 50c467ad-95fb-442a-934f-e8ce1a51e15f
      - name: endpointId
        in: query
        description: The endpoint identifier to get the executed command for.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 3b5879b6-b9c8-4083-9a2e-897a7affaf83
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: uninstall
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 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-03-15T07:23:28.8751031Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-04-14T07:23:28.8751031Z
      - 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: 42
      responses:
        200:
          description: Information about the executed commands.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCommandsResponseModel'
              example:
                TotalAvailable: 2
                PageNr: 1
                PageSize: 50
                Commands:
                - DateRequested: 2026-04-14T01:23:28.8751031Z
                  EndpointId: 808b1853-d19a-40e1-b9eb-bb547dc8107f
                  HostName: MyComputer1
                  StartDate: 2026-04-14T04:23:28.8751031Z
                  EndDate: 2026-04-14T14:23:28.8751031Z
                  Command: scan
                  Parameters: 
                  CommandState: 4
                - DateRequested: 2026-04-14T00:23:28.8751031Z
                  EndpointId: e067f861-8018-4283-bfb9-0cf6b8f62d5c
                  HostName: MyComputer2
                  StartDate: 2026-04-14T05:23:28.8751031Z
                  EndDate: 2026-04-14T15:23:28.8751031Z
                  Command: scan
                  Parameters: 
                  CommandState: 4
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?command=scan
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?endpointId=ea1563b2-4536-4017-b329-38e969fc5a06&commandState=3
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?order=command&orderDirection=A
      - lang: HTTP
        label: URL
        source: api/console/gsm/3515-3EC8-3018-4DAB-A776/sites/3c5b599c-f244-4c7e-a78b-b3e9f252fac8/commands?startDate=2018-09-01&endDate=2018-09-30&pageSize=100&pageNr=3
  /api/console/gsm/{gsmKey}/sites/{siteId}/groups/{groupId}/commands:
    get:
      tags:
      - 'Console: Console GSM'
      summary: Gets a list of executed commands on a given group.
      description: Only returns the executed commands from the past 6 months.
      operationId: ConsoleGSM_GetGroupCommands
      parameters:
      - name: gsmKey
        in: path
        required: true
        description: The GSM console keycode.
        schema:
          type: string
          nullable: false
        x-position: 1
        example: 369D-19AC-D6DC-44F1-A5C0
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 4165fa90-5c5a-461b-a2a1-c7257911bd82
      - 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: 1051bb53-9f79-40c3-84ea-982775805324
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: changekeycode
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 3
      - name: startDate
        in: query
        description: If specified, returns all issued commands after (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 6
        example: 2026-03-15T07:23:28.9219849Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-04-14T07:23:28.9219849Z
      - 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-04-14T01:23:28.9219849Z
                  EndpointId: 099fe38f-45fc-448c-9842-dc17c7f7b862
                  HostName: MyComputer1
                  StartDate: 2026-04-14T04:23:28.9219849Z
                  EndDate: 2026-04-14T14:23:28.9219849Z
                  Command: scan
                  Parameters: 
                  CommandState: 2
                - DateRequested: 2026-04-14T00:23:28.9219849Z
                  EndpointId: ba012417-4ffd-4ff1-a2bb-652cd6e2722c
                  HostName: MyComputer2
                  StartDate: 2026-04-14T05:23:28.9219849Z
                  EndDate: 2026-04-14T15:23:28.9219849Z
                  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/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: 8F8A-A8E7-32FD-4623-8AC5
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 623d8664-68ad-4e54-a1f5-73fc938c62cf
      - 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: c87f328c-a05a-469b-ae8c-98bad6dcdc87
      - name: command
        in: query
        description: Used to filter by command type. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "sysisolate".
        schema:
          type: string
          nullable: false
        x-position: 4
        example: cleanup
      - name: commandState
        in: query
        description: "Used to filter by the state. Valid values are: \n- 1 for \"elapsed\": The command elapsed as the endpoint did not report in within a valid time window.\n- 2 for \"not yet received\": The endpoint has not yet reported to pick up the command, but is still in a valid time window.\n- 3 for \"executed\": The endpoint reported in and the command has been sent.\n- 4 for \"scheduled\": The command has not been sent yet.\n- 5 for \"cancelled\": The command has been cancelled.\n- 6 for \"failed\": The command has been sent to the endpoint, but the command has failed."
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 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-03-15T07:23:28.9532373Z
      - name: endDate
        in: query
        description: If specified, returns all issued commands before (or at) the given date.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 7
        example: 2026-04-14T07:23:28.9532373Z
      - 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: 35
      responses:
        200:
          description: Information about the executed commands.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCommandsResponseModel'
              example:
                TotalAvailable: 2
                PageNr: 1
                PageSize: 50
                Commands:
                - DateRequested: 2026-04-14T01:23:28.9532373Z
                  EndpointId: 0b82b47d-ca33-4a41-bcc9-77079e29f06a
                  HostName: MyComputer1
                  StartDate: 2026-04-14T04:23:28.9532373Z
                  EndDate: 2026-04-14T14:23:28.9532373Z
                  Command: scan
                  Parameters: 
                  CommandState: 3
                - DateRequested: 2026-04-14T00:23:28.9532373Z
                  EndpointId: 4c63cf82-f98e-48c9-9498-44dfb4089177
                  HostName: MyComputer2
                  StartDate: 2026-04-14T05:23:28.9532373Z
                  EndDate: 2026-04-14T15:23:28.9532373Z
                  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: 29FF-FFF9-081F-491A-8106
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 2a92afa0-50ba-4afd-ab11-36ca3f36f9ff
      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: 7742f48a-7314-4cab-abb7-f3288c22678a,0642a14a-3e36-4602-b2aa-68484347ee69
              Command: changekeycode
              Parameters: 19F4-1CCC-4C2F-4C08-AB67
        required: true
        x-position: 3
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/29FF-FFF9-081F-491A-8106/sites/2a92afa0-50ba-4afd-ab11-36ca3f36f9ff/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: 81F4-6F85-EB35-45B1-B74F
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 7b23e74a-6207-4ab3-9a9b-ab5018e98e6b
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 4f8e85d1-5533-485b-a4fd-cabcb2db465c
      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: 1567-5312-E5E2-458E-AFB2
        required: true
        x-position: 4
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/81F4-6F85-EB35-45B1-B74F/sites/7b23e74a-6207-4ab3-9a9b-ab5018e98e6b/groups/4f8e85d1-5533-485b-a4fd-cabcb2db465c/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: 97A3-57F8-1327-4B52-AA89
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: a59b1d53-71b5-4b34-829a-6557a1fcc2c3
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.0782659Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.0782659Z
      - 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: 11
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-01-14T07:23:29.0782659Z
                EndDate: 2026-04-14T07:23:29.0782659Z
                ThreatRecords:
                - EndpointId: bf1ecd24-09c3-4c68-8850-bc9d64309d0a
                  MachineId: 69B4AE6A52A44541A9493FE20EE93C9E:::B25DD8020E8B4FB6B2708DC70A38F845:::B25DD8020E8B4FB6B2708DC70A38F845
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.0782659Z
                  LastSeen: 2026-04-12T07:23:29.0782659Z
                  ExtendedInfo:
                    DwellTime: 10
                    FileMD5: 9544E4ACE87C42B0BB78BC2BB44AC8F6
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.59.24.190
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: 283a94bc-d5a4-42f3-88ef-8aebc3df4825
                  MachineId: F6F096D22E794D4EBDD3FB8CEF1A051F:::2180EFB5C6A94C618FED692A74F9DCFE:::2180EFB5C6A94C618FED692A74F9DCFE
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.0782659Z
                  LastSeen: 2026-04-12T07:23:29.0782659Z
                  ExtendedInfo:
                    DwellTime: 312
                    FileMD5: 0B87EFAB23C24E13A8421E95376CB208
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.20.94.51
                    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: E591-CEE5-A981-471C-8A22
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 91f02a99-fa7c-4df4-99b7-009335aca273
      - name: groupId
        in: path
        required: true
        description: The group identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: e30bb825-ca05-400a-aa27-0e4c546eb25c
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-03-15T07:23:29.0938928Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 5
        example: 2026-04-14T07:23:29.0938928Z
      - 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: 31
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-01-14T07:23:29.0938928Z
                EndDate: 2026-04-14T07:23:29.0938928Z
                ThreatRecords:
                - EndpointId: 9697bdcf-40d1-4292-8fdd-06e3eacf3213
                  MachineId: 548BC09517EB4130815C9A516F829331:::45BB5E8AF5DA40589A8AE28AFEBE286B:::45BB5E8AF5DA40589A8AE28AFEBE286B
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.0938928Z
                  LastSeen: 2026-04-12T07:23:29.0938928Z
                  ExtendedInfo:
                    DwellTime: 819
                    FileMD5: 4C825A6B03024DF8B4E1D30313B2A2FC
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.26.111.97
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: 749693ae-af2e-4222-95fc-035a46c3e4dd
                  MachineId: C583017A7469493582DFCAF8B4EC6B07:::19E05B177CDF4D1CAD118DBDDB42ABAD:::19E05B177CDF4D1CAD118DBDDB42ABAD
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.0938928Z
                  LastSeen: 2026-04-12T07:23:29.0938928Z
                  ExtendedInfo:
                    DwellTime: 858
                    FileMD5: 7C13F3319DC3464EBAB77448129BDAE0
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.177.150.219
                    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: B27D-4190-244A-49C1-99F9
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 033a65ea-3007-4c9a-a14a-a903cf34136f
      - name: endpointId
        in: path
        required: true
        description: The endpoint identifier.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 28c89571-46d9-4c57-b05f-f915d7f278a3
      - name: startDate
        in: query
        description: If specified, returns all threat history records after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-03-15T07:23:29.1251557Z
      - name: endDate
        in: query
        description: If specified, returns all threat history records before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 5
        example: 2026-04-14T07:23:29.1251557Z
      - 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: 19
      responses:
        200:
          description: Information about matching threat history records.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetThreatHistoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 50
                StartDate: 2026-01-14T07:23:29.1251557Z
                EndDate: 2026-04-14T07:23:29.1251557Z
                ThreatRecords:
                - EndpointId: 16c0f4f1-d5ca-4977-a6f1-b2916050fc30
                  MachineId: 528A7987F3214FBAA22844910EBB6F37:::CBBF60F9E2BA4626BC8D99E337635F5C:::CBBF60F9E2BA4626BC8D99E337635F5C
                  HostName: MyComputer1
                  FileName: eicar.com
                  PathName: ?:\users\user1\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.1251557Z
                  LastSeen: 2026-04-12T07:23:29.1251557Z
                  ExtendedInfo:
                    DwellTime: 476
                    FileMD5: DAF36905391E4D4890B29E905BD0F195
                    FileSize: 68
                    UserName: User1
                    IPAddress: 95.85.181.240
                    Determination: B
                    FileVendor: ''
                    FileProduct: ''
                    FileVersion: ''
                - EndpointId: 387a6ef5-dab1-4782-9cac-1ed72f0af9bf
                  MachineId: AD1E9EAB7F06473CA045E53FF25FF0B3:::BA8A21F22A8546CDB82AD71E3E54AD63:::BA8A21F22A8546CDB82AD71E3E54AD63
                  HostName: MyComputer2
                  FileName: eicar.com
                  PathName: ?:\users\user2\desktop
                  MalwareGroup: Anti-Malware Testfile
                  FirstSeen: 2026-04-01T07:23:29.1251557Z
                  LastSeen: 2026-04-12T07:23:29.1251557Z
                  ExtendedInfo:
                    DwellTime: 930
                    FileMD5: 1AC8675973F24F81AA3AECFDA057FE84
                    FileSize: 68
                    UserName: User2
                    IPAddress: 95.159.245.124
                    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: CC8A-2283-EB76-46CF-B72B
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: fbf57785-961f-43c3-b6e0-13806374abe2
      - 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-03-15T07:23:29.1878564Z
      - name: endDate
        in: query
        description: "The end date of the time range for which data is queried. \n**Note: **The value returned for the last day in the time range is the number of URL actions counted for that day, up to the time-of-day specified in *endDate*.\n\nDefault value is the current date and time."
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-04-14T07:23:29.1878564Z
      responses:
        200:
          description: Summary information about the number of recorded URL actions.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetBlockedURLsCountsResponse'
              example:
                IncludeDeactivated: false
                IncludeHidden: false
                StartDate: 2026-04-12T07:23:29.1878564Z
                EndDate: 2026-04-14T07:23:29.1878564Z
                DatedCounts:
                - Date: 2026-04-14T00:00:00.0000000Z
                  Count: 33
                - Date: 2026-04-13T00:00:00.0000000Z
                  Count: 32
      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: E39A-A8C6-36A0-4E07-8EDF
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 38d52587-eee6-453d-ae15-bfb3152bacf7
      - 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: 40
      - 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-03-15T07:23:29.2503583Z
      - 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-04-14T07:23:29.2503583Z
      responses:
        200:
          description: Detail information about recorded URL actions.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetBlockedURLsDataResponse'
              example:
                MoreAvailable: false
                IncludeDeactivated: false
                IncludeHidden: false
                PageNr: 1
                PageSize: 100
                StartDate: 2026-04-12T07:23:29.2347414Z
                EndDate: 2026-04-13T07:23:29.2347414Z
                BlockedURLs:
                - BlockedUrl: https://www.suspicious.com/page0.html
                  BlockReasonId: 48
                  BlockReasonName: Violence
                  BCRI: 
                  Timestamp: 2026-04-13T07:22:09.2347414Z
                  ActionTaken: WHITELIST
                  HostName: Computer0
                  EndpointId: f20f681b-1ee6-4569-ad5d-1fc29e9aaa85
                - BlockedUrl: https://www.malicious.com/page0.html
                  BlockReasonId: 48
                  BlockReasonName: Violence
                  BCRI: 5
                  Timestamp: 2026-04-13T07:20:42.2347414Z
                  ActionTaken: BLOCK
                  HostName: Computer0
                  EndpointId: ffc9371f-f7a1-4dcc-a61d-b61619456730
      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: D14E-9311-5A46-4FD4-8967
      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/D14E-9311-5A46-4FD4-8967/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: A2A0-0EFB-6733-4A02-B8D2
      responses:
        200:
          description: Information about DNS Protection policies.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPGlobalPoliciesResponseModel'
              example:
                TotalCount: 2
                Policies:
                - Id: d4d1653a-4f5e-4494-8db5-ceebed4ba44e
                  Name: Test Policy 1
                  BlockedCategories:
                  - 50
                  - 57
                  - 58
                  - 59
                  - 60
                  - 68
                  Editable: true
                  CreatedDate: 2025-11-14T07:23:29.3128788Z
                  ModifiedDate: 2025-11-14T07:23:29.3128788Z
                - Id: 846206d6-5aee-42f1-9630-855fc025dd45
                  Name: Test Policy 2
                  BlockedCategories:
                  - 51
                  - 58
                  - 59
                  - 60
                  - 61
                  - 69
                  Editable: true
                  CreatedDate: 2025-06-14T07:23:29.3128788Z
                  ModifiedDate: 2025-06-14T07:23:29.3128788Z
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/A2A0-0EFB-6733-4A02-B8D2/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: FB18-FD3A-F65B-49FA-9884
      - 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: f9c1f779-b51c-446b-a30d-582fff3bafd6
      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: ea9a0cb6-9cf1-4a5e-a4fa-d8794c7b8919
                  Name: Test Policy 1
                  BlockedCategories:
                  - 50
                  - 57
                  - 58
                  - 59
                  - 60
                  - 68
                  Editable: true
                  CreatedDate: 2025-11-14T07:23:29.3284948Z
                  ModifiedDate: 2025-11-14T07:23:29.3284948Z
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/FB18-FD3A-F65B-49FA-9884/dnsp/policies/f9c1f779-b51c-446b-a30d-582fff3bafd6
  /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: D515-2045-3CA6-4392-A1AE
      - 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: 4bb022ce-216d-4965-8bc3-54a2b661144d
      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: 3d5d0015-179e-4dad-a5e8-6aafdab22ed9
                  Type: StaticIP
                  Value: 95.178.12.219
                  DNSPolicyId: 02b94993-eed9-4520-a59b-1a3feb6708bd
                - Id: 681ff853-ddeb-4136-a303-c8c1e13ddb22
                  Type: StaticIP
                  Value: 95.211.68.16
                  DNSPolicyId: 61edd461-11c5-4f79-99db-cc59c254b8ff
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/D515-2045-3CA6-4392-A1AE/sites/4bb022ce-216d-4965-8bc3-54a2b661144d/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: 0A55-1635-0FD3-4EC6-9D85
      - 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: e9e5b0fc-704e-433f-919c-dc3dea61396b
      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.251.60.94
              DNSPolicyId: aabc739f-857b-42cc-be56-ee5ad01b372a
        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: f3473c93-ef8c-41f6-aeab-bfc05f39ad24
                Type: StaticIP
                Value: 95.58.113.109
                DNSPolicyId: 9f8564a7-816e-46c5-8b07-7e28ee803101
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/0A55-1635-0FD3-4EC6-9D85/sites/e9e5b0fc-704e-433f-919c-dc3dea61396b/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: 654C-F180-7245-481F-AADC
      - 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: e529ca69-4879-4d3f-b8ad-f9790909fd47
      - 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: 54cf687f-874c-4298-8a32-0222f06ee457
      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: a35c3fc2-1aff-47b2-9e73-7229094c540f
                  Type: StaticIP
                  Value: 95.211.26.124
                  DNSPolicyId: 7e5a314d-28a9-4bcf-b8f5-0e15686557f1
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/654C-F180-7245-481F-AADC/sites/e529ca69-4879-4d3f-b8ad-f9790909fd47/dnsp/mappings/54cf687f-874c-4298-8a32-0222f06ee457
    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: 7BF8-B0B4-7E10-49F0-ABC8
      - 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: 5ccc8fab-666c-45d0-911e-9eaaf18055db
      - name: mappingId
        in: path
        required: true
        description: The identifier of the mapping.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: e461a137-7880-40dd-a7d2-9219c9c79fbb
      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.90.128.94
              DNSPolicyId: a97f31d6-04be-42e1-903b-a4d2e1401553
        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: 13934d17-3eda-45fd-8d92-3bc3d7e6c23f
                Type: StaticIP
                Value: 95.4.0.142
                DNSPolicyId: c4b4dea1-ac4f-48c2-8ba7-5f0ced66b37f
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/7BF8-B0B4-7E10-49F0-ABC8/sites/5ccc8fab-666c-45d0-911e-9eaaf18055db/dnsp/mappings/e461a137-7880-40dd-a7d2-9219c9c79fbb
    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: AF92-8E9F-3688-4F65-A281
      - 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: a749fec2-c9a1-4f37-83f6-0bae26165a5d
      - name: mappingId
        in: path
        required: true
        description: The identifier of the mapping to be deleted.
        schema:
          type: string
          nullable: false
        x-position: 3
        example: 55937330-171c-46f9-a2e4-ab7397b4b5d0
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/AF92-8E9F-3688-4F65-A281/sites/a749fec2-c9a1-4f37-83f6-0bae26165a5d/dnsp/mappings/55937330-171c-46f9-a2e4-ab7397b4b5d0
  /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: CF6C-48A2-C8EC-4C7C-ADB8
      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/CF6C-48A2-C8EC-4C7C-ADB8/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: 0113-A00F-AD0B-4ACA-AB30
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: f3106107-cf50-4891-bebf-3a5df3c4eaf8
      - name: startDate
        in: query
        description: If specified, returns blocked requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.5316488Z
      - name: endDate
        in: query
        description: If specified, returns blocked requests before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.5316488Z
      - 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: 48
      responses:
        200:
          description: Information about DNS requests that were blocked by the DNS Protection service.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPBlockedTrafficResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 1000
                StartDate: 2026-04-13T07:23:29.5316488Z
                EndDate: 2026-04-14T07:23:29.5316488Z
                SiteId: 01d65740-4925-494c-baf5-8860ff4415ae
                SiteName: Site 1
                BlockedRequests:
                - Timestamp: 2026-04-14T07:22:29.5316488Z
                  HostName: MyComputer1
                  UserName: User1
                  AgentVersion: 1.2.1.28
                  SourceIp: 95.74.145.237
                  Domain: www.blocked-domain1.com
                  DomainIps:
                  - 95.131.192.48
                  - 95.225.227.180
                  CategoryIds:
                  - 50
                  - 57
                  BlockReasonId: 1
                - Timestamp: 2026-04-14T07:21:29.5316488Z
                  HostName: MyComputer2
                  UserName: User2
                  AgentVersion: 1.2.1.28
                  SourceIp: 95.58.44.193
                  Domain: www.blocked-domain2.com
                  DomainIps:
                  - 95.50.113.128
                  - 95.101.49.247
                  CategoryIds:
                  - 51
                  - 58
                  BlockReasonId: 4
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/0113-A00F-AD0B-4ACA-AB30/sites/f3106107-cf50-4891-bebf-3a5df3c4eaf8/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: 8C62-8F30-5B2D-4D27-B031
      - name: siteId
        in: path
        required: true
        description: The site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: d6c71ee9-92a0-4093-a264-e0e6e7c20a1c
      - 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: 14,3,34
      - name: startDate
        in: query
        description: If specified, returns requests after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-03-15T07:23:29.5785307Z
      - name: endDate
        in: query
        description: If specified, returns requests before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        example: 2026-04-14T07:23:29.5785307Z
      - 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: 44
      responses:
        200:
          description: Information about DNS requests for a set of DNS Protection categories.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficByCategoryResponseModel'
              example:
                MoreAvailable: false
                PageNr: 1
                PageSize: 1000
                StartDate: 2026-04-13T07:23:29.5785307Z
                EndDate: 2026-04-14T07:23:29.5785307Z
                SiteId: 3873c3b8-9c96-4219-ba87-0781e05a3089
                SiteName: Site 1
                Requests:
                - Timestamp: 2026-04-14T07:22:29.5785307Z
                  HostName: MyComputer1
                  UserName: User1
                  AgentVersion: 1.3.0.197
                  SourceIp: 95.98.43.121
                  Domain: www.category-domain1.com
                  DomainIps:
                  - 95.14.128.110
                  - 95.2.102.29
                  CategoryIds:
                  - 34
                  - 42
                  ActionTaken: 2
                - Timestamp: 2026-04-14T07:21:29.5785307Z
                  HostName: MyComputer2
                  UserName: User2
                  AgentVersion: 1.3.0.197
                  SourceIp: 95.3.112.6
                  Domain: www.category-domain2.com
                  DomainIps:
                  - 95.131.47.61
                  - 95.221.139.75
                  CategoryIds:
                  - 7
                  - 81
                  ActionTaken: 0
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/8C62-8F30-5B2D-4D27-B031/sites/d6c71ee9-92a0-4093-a264-e0e6e7c20a1c/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: C70F-A7E5-41DD-4FA0-876A
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-03-15T07:23:29.6254026Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-14T07:23:29.6254026Z
      responses:
        200:
          description: Traffic summary information for GSM sites.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficSummaryResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.6097904Z
                EndDate: 2026-04-14T07:23:29.6097904Z
                Sites:
                - SiteId: 61f56779-41f2-44d7-911c-6953a5e76b01
                  SiteName: Site 1
                  DNSRequests: 11707
                  BlockedDNSRequests: 108
                  RiskyDNSRequests: 134
                - SiteId: c1866ccc-056f-4f6c-98f9-f0a2dfe7a8b7
                  SiteName: Site 2
                  DNSRequests: 14331
                  BlockedDNSRequests: 130
                  RiskyDNSRequests: 182
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/C70F-A7E5-41DD-4FA0-876A/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: 7A6F-6470-C71F-4CC6-9A89
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 6b0e5e4d-b545-4078-a0c6-7789f2641aa2
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.6410367Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.6410367Z
      responses:
        200:
          description: Traffic summary information for GSM sites.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficSummaryForSiteResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.6410367Z
                EndDate: 2026-04-14T07:23:29.6410367Z
                Sites:
                - SiteId: 08c51013-d843-45c1-a9e4-50c758437d8f
                  SiteName: Site 1
                  DNSRequests: 12524
                  BlockedDNSRequests: 170
                  RiskyDNSRequests: 109
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/7A6F-6470-C71F-4CC6-9A89/sites/6b0e5e4d-b545-4078-a0c6-7789f2641aa2/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: FC8A-516B-2BBE-49AD-BE0B
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-03-15T07:23:29.6722856Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-14T07:23:29.6722856Z
      responses:
        200:
          description: Traffic summary category report for a given GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.6722856Z
                EndDate: 2026-04-14T07:23:29.6722856Z
                Records:
                - CategoryId: 2
                  DNSRequests: 14031
                  AllowedDNSRequests: 11513
                  BlockedDNSRequests: 2518
                - CategoryId: 3
                  DNSRequests: 11567
                  AllowedDNSRequests: 10259
                  BlockedDNSRequests: 1308
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/FC8A-516B-2BBE-49AD-BE0B/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: A067-0C14-EE18-422A-88CE
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 68cc6e78-3e63-4b40-96cd-d404ca4f4316
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.6879496Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.6879496Z
      responses:
        200:
          description: Traffic summary category report for a given GSM console.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategorySummaryForSiteResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.6879496Z
                EndDate: 2026-04-14T07:23:29.6879496Z
                Records:
                - CategoryId: 2
                  DNSRequests: 14875
                  AllowedDNSRequests: 13695
                  BlockedDNSRequests: 1180
                - CategoryId: 3
                  DNSRequests: 14428
                  AllowedDNSRequests: 13266
                  BlockedDNSRequests: 1162
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/A067-0C14-EE18-422A-88CE/sites/68cc6e78-3e63-4b40-96cd-d404ca4f4316/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: CED0-675A-DA8E-4142-AAB9
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 2
        example: 2026-03-15T07:23:29.7191680Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-04-14T07:23:29.7191680Z
      - 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: 3,7,81
      responses:
        200:
          description: Traffic summary category user report for a specific GSM site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.7191680Z
                EndDate: 2026-04-14T07:23:29.7191680Z
                Records:
                - CategoryId: 2
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 12402
                    BlockedDNSRequests: 1947
                  - UserName: User2
                    AllowedDNSRequests: 10638
                    BlockedDNSRequests: 3388
                - CategoryId: 3
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 13283
                    BlockedDNSRequests: 3142
                  - UserName: User2
                    AllowedDNSRequests: 11343
                    BlockedDNSRequests: 1551
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/CED0-675A-DA8E-4142-AAB9/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: 7966-F8A9-F6A6-4AD8-BCC3
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: 3baae2b8-5f49-4d87-b4b2-5c651737d3eb
      - name: startDate
        in: query
        description: If specified, returns DNS traffic summary after (or at) the given date. If omitted, defaults to 'endDate' minus 24 hours.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.7504166Z
      - name: endDate
        in: query
        description: If specified, returns DNS traffic summary before (or at) the given date. If omitted, defaults to the current date and time.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.7504166Z
      - name: categories
        in: query
        description: A comma separated list of one or more DNS Protection category identifiers (e.g. 14,47,81). Call ['get categories'](https://unityapi.webrootcloudav.com/Docs/APIDoc/Api/GET-api-console-gsm-gsmKey-dnsp-categories) to get a list of available DNS Protection categories and their respective identifiers. If omitted, defaults to all categories.
        schema:
          type: string
          nullable: false
        x-position: 5
        example: 7,47,14
      responses:
        200:
          description: Traffic summary category user report for a specific GSM site.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetDNSPTrafficCategoryUserSummaryForSiteResponseModel'
              example:
                StartDate: 2026-04-13T07:23:29.7504166Z
                EndDate: 2026-04-14T07:23:29.7504166Z
                Records:
                - CategoryId: 2
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 14746
                    BlockedDNSRequests: 1816
                  - UserName: User2
                    AllowedDNSRequests: 12720
                    BlockedDNSRequests: 3652
                - CategoryId: 3
                  Users:
                  - UserName: User1
                    AllowedDNSRequests: 12074
                    BlockedDNSRequests: 2794
                  - UserName: User2
                    AllowedDNSRequests: 14207
                    BlockedDNSRequests: 1261
      security:
      - UnityAPISecurity:
        - Console.GSM
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/console/gsm/7966-F8A9-F6A6-4AD8-BCC3/sites/3baae2b8-5f49-4d87-b4b2-5c651737d3eb/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: 6B47-2CDE-A67C-4719-B3E3
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ceab5850-0ea6-4a3e-acbc-4a7041b3b600
      - name: startDate
        in: query
        description: If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 days.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.7972912Z
      - name: endDate
        in: query
        description: If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.7972912Z
      responses:
        200:
          description: User activity information within the specified dates for matching phishing campaigns.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetWSATPhishingActivityResponseModel'
              example:
                CampaignType: Phishing
                StartDate: 2026-01-14T07:23:29.7972912Z
                EndDate: 2026-02-14T07:23:29.7972912Z
                Campaigns:
                - SiteId: f8246a21-356c-4304-8659-97812e858484
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 1
                  LaunchDate: 2026-02-12T07:23:29.7972912Z
                  TotalUsers: 2
                  TotalClicked: 2
                  TargetUsers:
                  - Email: email1@domain.com
                    Clicked: true
                  - Email: email2@domain.com
                    Clicked: true
                - SiteId: f8246a21-356c-4304-8659-97812e858484
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 2
                  LaunchDate: 2026-02-10T07:23:29.7972912Z
                  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/6B47-2CDE-A67C-4719-B3E3/sites/ceab5850-0ea6-4a3e-acbc-4a7041b3b600/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: 1677-8013-E841-4F59-901E
      - name: siteId
        in: path
        required: true
        description: The GSM site identifier.
        schema:
          type: string
          nullable: false
        x-position: 2
        example: ff9d6a58-5d51-49b3-b120-b3b3d733815c
      - name: startDate
        in: query
        description: If specified, returns activity information starting from the given date. If omitted, defaults to 'now' minus 30 Days.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 3
        example: 2026-03-15T07:23:29.8442047Z
      - name: endDate
        in: query
        description: If specified, returns activity information ending at the given date. If omitted, defaults to 'now'.
        schema:
          type: string
          format: date-time
          nullable: false
        x-position: 4
        example: 2026-04-14T07:23:29.8442047Z
      responses:
        200:
          description: User activity information within the specified dates for matching training campaigns.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetWSATTrainingActivityResponseModel'
              example:
                CampaignType: Training
                StartDate: 2026-01-14T07:23:29.8442047Z
                EndDate: 2026-02-14T07:23:29.8442047Z
                Campaigns:
                - SiteId: e6cae380-62f2-435f-bd73-6a8fa6594f1b
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 1
                  LaunchDate: 2026-02-12T07:23:29.8442047Z
                  TotalUsers: 2
                  TotalComplete: 2
                  TargetUsers:
                  - Email: email1@domain.com
                    Complete: true
                  - Email: email2@domain.com
                    Complete: true
                - SiteId: e6cae380-62f2-435f-bd73-6a8fa6594f1b
                  SiteName: The WSAT Site
                  CampaignName: Campaign Name 2
                  LaunchDate: 2026-02-10T07:23:29.8442047Z
                  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/1677-8013-E841-4F59-901E/sites/ff9d6a58-5d51-49b3-b120-b3b3d733815c/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-04-14T00: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-04-14T00:00:00.0000000Z
                    ExpirationDate: 2027-04-14T00: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-04-14T00:00:00.0000000Z
                    ExpirationDate: 2027-04-14T00: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: E000758214
                    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: PSV0089401752
      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-04-14T19:51:59.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-04-14T00:00:00.0000000Z
                    ExpirationDate: 2027-04-14T00: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-04-14T00:00:00.0000000Z
                    ExpirationDate: 2027-04-14T00: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: E000957041
                    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: E000486339
                    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/PSV0089401752
  /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: PSV0076265528
      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: E000444792
                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: E000227518
                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: E000218680
                  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: E000520492
                  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: E000433545
                  VatId: A123456
                  CustomerTypeId: 2
                  CustomerTypeDescription: Shipping
                  OptIn: true
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/carts/PSV0076265528/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: PSV0078370761
      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: E000794453
                  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: E000916285
                  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: E000119060
                  VatId: A123456
                  CustomerTypeId: 2
                  CustomerTypeDescription: Shipping
                  OptIn: true
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/carts/PSV0078370761/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-03-12T06:03:27.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: CC2404C2B599441EAD54
                  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: 90222403
                    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: E000994336
                    VatId: A123456
                    CustomerTypeId: 1
                    CustomerTypeDescription: Billing
                    OptIn: true
                  Shipping:
                    CustomerId: 60883510
                    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: E000155970
                    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: CF184CC7E8764D118574
      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: 85F73457B69D4E698917
                  VendorOrderCode: PSV0094975901
                  ExceptionStatus: 
                  PartnerLicenseStatus: approved
                - Keycode: 85F73457B69D4E698917
                  VendorOrderCode: PSV0074982213
                  ExceptionStatus: resolved
                  PartnerLicenseStatus: 
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/CF184CC7E8764D118574/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: B908E2282C0D4F49B588
      - name: licenseCategoryName
        in: path
        required: true
        description: "The identifier for a particular product on a license. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, PLRP, CALLY, OSBPB."
        schema:
          type: string
          nullable: false
        x-position: 2
        example: OTEDR
      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/B908E2282C0D4F49B588/licensecategory/OTEDR
  /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: 835B60B37B5B4F8684A1
      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: 178157729
                Keycode: 7AD5247C5BBF4FFABC38
                ProductLineDescription: Webroot Business
                ParentLicenseId: 133566320
                ParentKeycode: 479D6ED96D6E41D5B112
                ChildLicenseActivations: 7
                PartnerStartDate: 2025-02-13T05:00:54.0000000
                CustomAttribute: 
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 51
                    LicenseKeycodeTypeId: 3
                    StartDate: 2025-08-30T07:00:19.0000000
                    ExpirationDate: 2028-08-13T02:54:54.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: 301
                    LicenseKeycodeTypeId: 3
                    StartDate: 2025-05-01T11:02:32.0000000
                    ExpirationDate: 2028-02-15T09:02:11.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: full
                    ItemHierarchyId: 2
                    ItemHierarchyName: secondary
                    LicenseStatusId: 3
                    LicenseStatusDescription: manually disabled
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 69391
                  CompanyName: Sample Company
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/835B60B37B5B4F8684A1
  /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: 476ADC39652B4874A05A
      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: 138789316
                  Keycode: 2D0E49530F97455F867D
                  ParentKeycode: 7A6540DE528A4CCA981F
                  SiteName: My site 1
                  ChildLicenseProfile:
                    SAEP:
                      LicenseCategoryName: SAEP
                      LicenseCategoryDescription: Webroot Endpoint Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2025-10-02T17:53:12.0000000
                      ExpirationDate: 2026-10-22T03:01:19.0000000
                      CategoryTypeName: full
                      ItemHierarchyId: 1
                      ItemHierarchyName: primary
                      LicenseStatusId: 3
                      LicenseStatusDescription: manually disabled
                - LicenseId: 178772915
                  Keycode: DAE5CE6C71434ECAB61B
                  ParentKeycode: 7A6540DE528A4CCA981F
                  SiteName: My site 2
                  ChildLicenseProfile:
                    SAEP:
                      LicenseCategoryName: SAEP
                      LicenseCategoryDescription: Webroot Endpoint Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2024-03-16T10:55:01.0000000
                      ExpirationDate: 2028-10-31T06:12:28.0000000
                      CategoryTypeName: trial
                      ItemHierarchyId: 1
                      ItemHierarchyName: primary
                      LicenseStatusId: 1
                      LicenseStatusDescription: active
                    SDNS:
                      LicenseCategoryName: SDNS
                      LicenseCategoryDescription: Webroot DNS Protection
                      LicenseKeycodeTypeId: 3
                      StartDate: 2024-09-16T19:36:45.0000000
                      ExpirationDate: 2028-06-17T14:10:30.0000000
                      CategoryTypeName: full
                      ItemHierarchyId: 2
                      ItemHierarchyName: secondary
                      LicenseStatusId: 0
                      LicenseStatusDescription: inactive
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/products/476ADC39652B4874A05A/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: 425
              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: E000349916
              VaultId: 
              ProductPlatformId: 
              Modules:
              - LicenseSeats: 122
                LicenseCategoryName: SDNS
                VaultId: 
                ProductPlatformId: 
              - LicenseSeats: 824
                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: 178945468
                Keycode: 9C74E0CA83DB4714AA5C
                ProductLineDescription: Webroot Business
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 533
                    LicenseKeycodeTypeId: 3
                    StartDate: 2026-04-13T01:32:37.0000000
                    ExpirationDate: 2028-07-31T07:02:51.0000000
                    LicenseAttributeValue: 1
                    LicenseAttributeValueDescription: ''
                    LicenseAttributeDescription: ''
                    CategoryTypeName: full
                    ItemHierarchyId: 1
                    ItemHierarchyName: primary
                    LicenseStatusId: 2
                    LicenseStatusDescription: disabled
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 42766
                  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: C9290091AF2041D78707
      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: 755
                LicenseCategoryName: SDNS
                VaultId: 
                ProductPlatformId: 
              - LicenseSeats: 93
                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: 138171664
                Keycode: EAC257BC051242B889C3
                ProductLineDescription: Webroot Business
                ParentLicenseId: 129970081
                ParentKeycode: 42D4218EB8F3495C94D8
                ChildLicenseActivations: 3
                PartnerStartDate: 2025-08-24T12:01:38.0000000
                Profile:
                  SAEP:
                    LicenseCategoryName: SAEP
                    LicenseCategoryDescription: Webroot Endpoint Protection
                    LicenseSeats: 24
                    LicenseKeycodeTypeId: 3
                    StartDate: 2024-12-03T01:02:38.0000000
                    ExpirationDate: 2026-09-24T23:32:48.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: trial
                    ItemHierarchyId: 1
                    ItemHierarchyName: primary
                    LicenseStatusId: 3
                    LicenseStatusDescription: manually disabled
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                  SDNS:
                    LicenseCategoryName: SDNS
                    LicenseCategoryDescription: Webroot DNS Protection
                    LicenseSeats: 627
                    LicenseKeycodeTypeId: 3
                    StartDate: 2023-09-04T21:50:42.0000000
                    ExpirationDate: 2028-01-16T13:04:05.0000000
                    LicenseAttributeValue: 
                    LicenseAttributeValueDescription: 
                    LicenseAttributeDescription: 
                    CategoryTypeName: trial
                    ItemHierarchyId: 2
                    ItemHierarchyName: secondary
                    LicenseStatusId: 1
                    LicenseStatusDescription: active
                    UsagePricingModelId: 
                    UsagePricingModelName: 
                    UsageCheckDay: 15
                    VaultId: 
                    VaultName: 
                    Vaults: 
                    ProductPlatformId: 
                    ProductPlatformName: 
                    RetentionModelId: 
                    RetentionModelName: 
                Customer:
                  VendorCustomerCode: 1647
      security:
      - UnityAPISecurity:
        - ECom.Shop
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/ecom/shop/trials/C9290091AF2041D78707/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: ea31dbb4-5f50-4ff2-8897-2d28a9650c52
                  DeliveryType: fetch
                  Domain:
                    Type: Site
                    Values:
                    - Name: GSMKey
                      Value: 16EC-4394-5C20-4762-BD2E
                    - Name: SiteKey
                      Value: C84A-F86D-CBA4-40E6-96B8
                  EventTypes:
                  - Endpoint.FileDetection
                  Webhook: 
                  CreatedDate: 2026-01-14T07:23:31.0794574Z
                  UpdatedDate: 2026-02-14T07:23:31.0794574Z
                - SubscriptionId: 0b1d6c36-9bb2-4836-8d5e-eafb4d576f52
                  DeliveryType: webhook
                  Domain:
                    Type: Site
                    Values:
                    - Name: GSMKey
                      Value: ED2D-8289-8984-4A79-ABD8
                    - Name: SiteKey
                      Value: C387-3B07-039F-40A6-8ED4
                  EventTypes:
                  - Endpoint.FileDetection
                  Webhook:
                    DeliveryContext: MyCustomCorrelationString
                    DeliveryRateInSeconds: 90
                    DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                    Suspended: false
                    Statistics: 
                  CreatedDate: 2026-01-14T07:23:31.0794574Z
                  UpdatedDate: 2026-02-14T07:23:31.0794574Z
      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: 64BF-2902-03BF-4369-9BC1
                - Name: SiteKey
                  Value: A6BC-5AE8-674F-4BD4-AFBD
              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: d9ee3a37-cd04-4d87-aeb9-2862bf46d8ee
                DeliveryType: webhook
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: 6CF7-E71B-BDD0-456D-98E9
                  - Name: SiteKey
                    Value: 821C-5B54-BD2C-4C9F-B64C
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-01-14T07:23:31.4389870Z
                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: 09c28a89-cb99-47ae-8cb4-0ee50275f642
      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: d33e1e36-eae3-48a7-9495-60a1097775d1
                DeliveryType: fetch
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: 214C-7103-602A-49BB-B8C2
                  - Name: SiteKey
                    Value: 8254-98F3-1012-4F83-B4D1
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-01-14T07:23:31.1107047Z
                UpdatedDate: 2026-02-14T07:23:31.1107047Z
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/09c28a89-cb99-47ae-8cb4-0ee50275f642
    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: 5753dc57-c221-4345-a14c-6cfdce94961a
      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: f25b46c1-6ea1-4fd7-9efb-ead07ae9fc02
                DeliveryType: webhook
                Domain:
                  Type: Site
                  Values:
                  - Name: GSMKey
                    Value: 0A94-E6B2-6226-40CC-A265
                  - Name: SiteKey
                    Value: 1652-F2C7-9647-4686-9A19
                EventTypes:
                - Endpoint.FileDetection
                Webhook:
                  DeliveryContext: MyCustomCorrelationString
                  DeliveryRateInSeconds: 90
                  DeliveryUrl: https://my.company.com/wrunity/notifications/webhook
                  Suspended: false
                  Statistics: 
                CreatedDate: 2026-01-14T07:23:31.4702275Z
                UpdatedDate: 2026-04-14T07:21:31.4702275Z
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/5753dc57-c221-4345-a14c-6cfdce94961a
    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: 65181f49-28e2-49a9-b92b-cf427e4f60bf
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/65181f49-28e2-49a9-b92b-cf427e4f60bf
  /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: 325d10e7-7e26-4324-b464-822fdd874f9a
      - 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: edd684af-a813-4855-a311-df61b2504e21
                Count: 5
                NextPosition: zbaaZsy2mmYmlozd9pneCCkJAAAAAAAAZWRkNjg0YWYtYTgxMy00ODU1LWEzMTEtZGY2MWIyNTA0ZTIx
                MoreAvailable: false
                Notifications:
                - EventType: WebThreatShield.UrlAction
                  EventObjectName: WtsUrlActionEvent
                  UnityAPIEventId: 82d26c1e-397a-4aad-b8aa-845bcd1dcf07
                  WtsUrlActionEvent:
                    Timestamp: 2026-04-14T07:20:31.3139477Z
                    GSMKey: 
                    GSMConsoleName: 
                    SiteKey: A5918616CC12416EAEFF
                    SiteId: 
                    SiteName: 
                    MachineId: 6191B2A217AA46FAB59B0ACDFDA97CDA:::E3CD580463124854A63A605A2446CEF9:::E3CD580463124854A63A605A2446CEF9
                    HostName: MyComputer1
                    PublicIP: 95.54.138.67
                    BlockDetails:
                      ActionTaken: BLOCK
                      BlockedUrl: http://www.category-domain1.com
                      BlockReasonId: 56
                      BlockReasonName: Malware Sites
                      BCRI: 10
                - EventType: Endpoint.FileDetection
                  EventObjectName: EndpointFileDetectionEvent
                  UnityAPIEventId: 3e2c2bd2-0d1c-4995-9565-77256a8f2eb6
                  EndpointFileDetectionEvent:
                    Timestamp: 2026-04-14T07:19:31.0000000Z
                    GSMKey: 47319F7C549E425CBC6E
                    GSMConsoleName: My Management Console
                    SiteKey: 39D41BC3C50049E4B5E6
                    SiteId: 691c1c52-637c-fe11-4d33-1edde4dabcea
                    SiteName: My GSM Site 2
                    MachineId: 446EF753B78B414E8A56632AC03EE8CF:::6A4A8CC7AA124BE5A8287B1AE69A7402:::6A4A8CC7AA124BE5A8287B1AE69A7402
                    HostName: MyComputer2
                    PublicIP: 95.134.60.14
                    ScanInfo:
                      ScanId: 42c8aac8-ff93-4ce2-941f-683bc5e67b4f
                      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: eb5bcd48-e7d5-48ad-9a1f-5501898923f3
                  BackupEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: 47319F7C549E425CBC6E
                    GSMConsoleName: My Management Console
                    SiteKey: B5EA7181EB4E4046BF2A
                    SiteId: aad1711e-5322-634a-dce0-5ec37bdd028c
                    SiteName: My GSM Site 3
                    MachineId: 0727923AABEA474DB105366BC866A5B6:::B28C53A153F541B0BBDE1666411C618D:::B28C53A153F541B0BBDE1666411C618D
                    HostName: MyComputer3
                    PublicIP: 95.63.19.37
                    BackupDetails:
                      EventId: 7e18cce6-868a-4dd3-a33d-0baaae7360fc
                      Date: 2024-02-01T03:59:42.0000000Z
                      RealLocalTime: 07/15/2024 12:00:00
                      UserId: 123456
                      BackupType: Image
                      BackupDeviceId: 5fe753cc-9f14-4d40-a2c7-0c7088bb3e81
                      BackupDeviceName: my_device
                      BackupLocation: AwsS3
                      BackupJobId: 7340cf26-0425-4f20-90ac-90581d94fc5b
                      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: 01ab7051-7788-4bfe-b61a-de18a2efe4a4
                  RestoreEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: 47319F7C549E425CBC6E
                    GSMConsoleName: My Management Console
                    SiteKey: C120392EA6F749E7892D
                    SiteId: 3e31af63-da00-14cb-ae30-866fdb832c69
                    SiteName: My GSM Site 4
                    MachineId: 1C621521D2AE4A3A8C06FDC5B90833F0:::4197D04775A342FE8F717803F278ABB2:::4197D04775A342FE8F717803F278ABB2
                    HostName: MyComputer4
                    PublicIP: 95.52.84.117
                    RestoreDetails:
                      EventId: 7f063ee1-0396-49d0-9e7c-b5f43a018558
                      Date: 2024-02-01T03:59:42.0000000Z
                      RealLocalTime: 07/15/2024 12:00:00
                      UserId: 123456
                      RecoveryType: DisasterRecovery
                      BackupDeviceId: 349761e0-764d-4c89-a20f-358a12b85dab
                      BackupDeviceName: my_device
                      BackupLocation: LocalSnapshot
                      BackupVolumeName: C:\
                      DestinationVolumeName: D:\
                      BackupJobId: 3ece958f-5d00-4159-b65f-ab1e619ad953
                      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: 71bdf796-f130-4666-9e24-e690bea93f6c
                  AgentRegistrationEvent:
                    Timestamp: 2024-02-01T03:59:42.0000000Z
                    GSMKey: 47319F7C549E425CBC6E
                    GSMConsoleName: My Management Console
                    SiteKey: 9D7078E789CD4A378839
                    SiteId: f4f5aaf1-b308-949b-6ebc-323f3361af3a
                    SiteName: My GSM Site 5
                    MachineId: F2A963F03BF849249FE7AEF844B58F95:::827DF99854FD4E1F800DEE2E137B879C:::827DF99854FD4E1F800DEE2E137B879C
                    HostName: MyComputer5
                    PublicIP: 95.24.199.175
                    AgentRegistrationDetails:
                      EventId: 3d2462ca-2f96-46aa-be7c-061c40b1c107
                      Date: 2024-02-01T03:59:42.0000000Z
                      BackupDeviceId: 1960611e-d2c8-4730-b06f-fd78f1be0d57
                      Status: Registered
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/325d10e7-7e26-4324-b464-822fdd874f9a/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: eb9e70f2-ea49-4200-8311-b7080b853b32
      requestBody:
        x-name: request
        description: Details on where the position should point to in Unity's notification queue.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/GeneratePositionRequestModel'
            example:
              PositionType: date
              StartDate: 2026-04-13T03: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: vCmtU70prVOUHITo9pneCNIEAAAAAAAAOWU3OTkxMjYtMTU5Mi00YjgzLWI3NzItNDVjZTQxN2I2Y2E0
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/eb9e70f2-ea49-4200-8311-b7080b853b32/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: d3e925e6-b05f-4b79-a5e0-8cf2c5a11af1
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/d3e925e6-b05f-4b79-a5e0-8cf2c5a11af1/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: 1ab001b4-5da2-4866-a28a-f5e3d12eac2e
      responses:
        204:
          description: ''
      security:
      - UnityAPISecurity:
        - Notifications.Subscriptions
      x-code-samples:
      - lang: HTTP
        label: URL
        source: /api/notifications/subscriptions/1ab001b4-5da2-4866-a28a-f5e3d12eac2e/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: 164ed325-8cf7-4506-b646-3f15dac55936
                  CustomerNumber: 500021
                  Currency: USD
                  CustomerSince: 2026-04-14T07:23:31.5639718Z
                  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: 45876463-511c-405b-9de7-af4b8eb8f9ba
                  CustomerNumber: 500021
                  Currency: USD
                  CustomerSince: 2026-04-14T07:23:31.5639718Z
                  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: 79
                  NextPageOffset: 80
                Meta:
                  Page:
                    Total: 381
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=15&offset=0
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=10
      - lang: HTTP
        label: URL
        source: api/securecloud/customers?limit=15&offset=0&includeClosedCustomers=false
  /api/securecloud/customers/{customerId}:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides information about an end customer.
      operationId: SecureCloudCustomers_GetCustomerById
      parameters:
      - name: customerId
        in: path
        required: true
        description: Identifier used to query information about an end customer.
        schema:
          type: string
          nullable: false
        x-position: 1
      responses:
        200:
          description: Information about an end customer.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetCustomerResponseModel'
              example:
                CustomerId: 1e0a7a3c-92b7-480d-a48f-a38600f660bf
                CustomerNumber: 500021
                Currency: USD
                CustomerSince: 2026-04-14T07:23:31.5639718Z
                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: 90183893-4997-43ff-8369-db973dc528e5
                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: 1c8d8b58-49ae-4648-a00e-7bd10ab0f231
                  FirstName: George Fr.
                  LastName: junior
                  PhoneNumber: 1234567890
                  EmailAddress: gfj@etppro.com
                  Roles:
                  - Customer_Administrator
                  - Billing
                  Culture: en-US
                  UserServices:
                  - ServiceName: Email Threat Protection
                - UserId: 2dcab9a8-72b6-4d1b-9e49-861efb965a1f
                  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: 81
                  NextPageOffset: 82
                Meta:
                  Page:
                    Total: 101
      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: a67bd266-db23-4d71-ba98-33cea712273f
                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-03-15T07:23:31.7983862Z
                  ExpirationDate: 2026-05-14T07:23:31.7983862Z
                  CancellationDate: 2026-03-20T07:23:31.7983862Z
                  CancellationGracePeriod: 16
                  ScheduledUninstallDate: 2026-05-15T07:23:31.7983862Z
                  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-03-15T07:23:31.7983862Z
                  ExpirationDate: 2026-05-14T07:23:31.7983862Z
                  CancellationDate: 2026-03-20T07:23:31.7983862Z
                  CancellationGracePeriod: 10
                  ScheduledUninstallDate: 2026-05-15T07:23:31.7983862Z
                  AvailableActions:
                    CanCancel: true
                    CanConfigure: true
                    CanRestore: true
                    CanSuspend: false
                    CanUpgrade: false
                    CanDowngrade: false
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions?includeInactiveSubscriptions=true
  /api/securecloud/customers/{customerId}/subscriptions/{subscriptionKey}:
    get:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Provides information about a subscription.
      description: '**Note:** The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path. '
      operationId: SecureCloudCustomers_GetSubscriptionDetails
      parameters:
      - name: customerId
        in: path
        required: true
        description: Identifier used to query information about an end customer.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: subscriptionKey
        in: path
        required: true
        description: A unique identifier, either encoded or non-encoded, used to identify a subscription.
        schema:
          type: string
          nullable: false
        x-position: 2
      responses:
        200:
          description: Subscription Details.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/GetSubscriptionDetailResponseModel'
              example:
                SubscriptionKey: 192837-TESDF-1-spg.com
                ProductName: Cloud Backup
                Categories:
                - Recovery
                Domain: spg.com
                Aliases:
                - def.spc.com
                IsTrial: false
                SubscriptionTerm: Monthly
                BillingFrequency: Monthly
                ExpirationBehavior: AutoRenew
                SubscriptionStatus: Active
                StartDate: 2026-03-15T07:23:31.8296548Z
                ExpirationDate: 2026-05-14T07:23:31.8296548Z
                CancellationDate: 2026-03-20T07:23:31.8296548Z
                CancellationGracePeriod: 19
                ScheduledUninstallDate: 2026-05-15T07:23:31.8296548Z
                AvailableActions:
                  CanCancel: true
                  CanConfigure: true
                  CanRestore: true
                  CanSuspend: false
                  CanUpgrade: false
                  CanDowngrade: false
                ConfigurableSubscriptionDetails:
                - Name: SubscriptionQuantity
                  Value: 10
                ReadonlySubscriptionDetails:
                - Name: TotalLicenses
                  Value: 15
                - Name: AssignedLicenses
                  Value: 10
                - Name: UnassignedLicenses
                  Value: 5
                - Name: CanCancelUntilDate
                  Value: 2026-05-14T07:23:31.8290000Z
                - Name: CommitmentEndDate
                  Value: 2026-05-14T07:23:31.8290000Z
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q=
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test
    patch:
      tags:
      - 'SecureCloud: SecureCloud Customers'
      summary: Updates subscription details.
      description: "**Note:** This method updates O365 license quantities through regular JSON patches for partial object updates. Note that it does not support JSON Patch operations as defined in RFC 6902.   \n  \n**Requirements:**\n- The subscription key can be provided either in Base64-encoded form or as an unencoded string, and should be passed as the subscriptionKey parameter in the URL path.\n- Currently limited to O365 license quantity updates only."
      operationId: SecureCloudCustomers_UpdateSubscriptionDetails
      parameters:
      - name: customerId
        in: path
        required: true
        description: A unique id by which an end customer is identified.
        schema:
          type: string
          nullable: false
        x-position: 1
      - name: subscriptionKey
        in: path
        required: true
        description: A unique identifier, either encoded or non-encoded, used to identify a subscription.
        schema:
          type: string
          nullable: false
        x-position: 2
      requestBody:
        x-name: updateSubscriptionRequestModel
        description: Information about the subscription to be updated.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/UpdateSubscriptionRequestModel'
            example:
              ConfigurableSubscriptionDetails:
              - Name: SubscriptionQuantity
                Value: 5
        required: true
        x-position: 3
      responses:
        200:
          description: Information received after updating the license quantity.
          content:
            application/json:
              schema:
                nullable: true
                oneOf:
                - $ref: '#/components/schemas/UpdateSubscriptionResponseModel'
              example:
                Message: The request has been accepted for processing.
      x-code-samples:
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/MTI1OTQ3LUJBQ0tVUC0zMS10bGguZG9tYWluc3dhcC56aXh0ZXN0LnRlc3Q=
      - lang: HTTP
        label: URL
        source: api/securecloud/customers/1e0a7a3c-92b7-480d-a48f-a38600f660bf/subscriptions/125947-BACKUP-31-tlh.domainswap.zixtest.test
  /api/securecloud/usage/charges:
    post:
      tags:
      - 'SecureCloud: SecureCloud Usage'
      summary: Gets a list of subscription charges. A subscription charge provides a snapshot of a customer's current charges.
      description: "**Note:** The response from the charges API varies based on the filters, sorting parameters and fields specified in the request body. For more information, refer to the sections on [Filter Operations and Expressions](https://unityapi.webrootcloudav.com/Docs/APIDoc/Guide#guide-filterFormats) used for filtering results.   \n  \n\nWhen using a cursor, body content is not allowed. In such a case, please construct the URI parameters as follows: 'page[limit]={yourlimit}&amp;page[offset]={youroffset}&amp;filter[chargeCode]={yourchargecode}&amp;filter[isTrial]={true or false}&amp;sort={sort field, e.g. ChargeCode}&amp;sort={secondary sort field, e.g. -Currency}'. Following this, the resulting parameter string needs to be encoded (Base64) and then passed to the cursor as a URI parameter."
      operationId: SecureCloudUsage_GetSubscriptionChargeDetails
      parameters:
      - name: limit
        in: query
        description: The maximum number of records to return.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 2
        example: 10
      - name: offset
        in: query
        description: Specifies the number of records to skip, determining the starting point for displaying results.
        schema:
          type: integer
          format: int32
          nullable: false
        x-position: 3
        example: 0
      - name: cursor
        in: query
        description: Encoded value of the url. *e.g. ZmlsdGVyW2lzQXV0b1JlbmV3XT1lcTondHJ1ZScmc29ydD1DaGFyZ2VDb2RlLC1DdXJyZW5jeSZwYWdlW2xpbWl0XT0xMCZwYWdlW29mZnNldF09MTA*
        schema:
          type: string
          nullable: false
        x-position: 4
        example: ZmlsdGVyW2lzT2ZmaWNlMzY1TmNlXT1lcTonZmFsc2UnJnNvcnQ9cHJpY2UmcGFnZVtsaW1pdF09MTAmcGFnZVtvZmZzZXRdPTEw
      requestBody:
        x-name: subscriptionChargeRequest
        description: Additional information containing filters, sort order and a definition of fields that will be included in the response.
        content:
          application/json:
            schema:
              nullable: false
              oneOf:
              - $ref: '#/components/schemas/SubscriptionChargesRequestModel'
            example:
              SubscriptionChargesFilterFields:
                Id: 38416-BACKUP-1-1-BASICUSRS-59
                ChargeCode: in:BASICUSRS-59,CRSUSRS-3
                ChargeName: Cloud Charge 1
                ChargeType: Recurring
                ProductName: Cloud Product1
                ProductType: CloudBackup
                BillableItem: BasicUsers
                Price: 10
                TermPrice: 10
                Currency: USD
                Quantity: 0
                Total: 0
                Description: Cloud Charge 1
                SubscriptionStartDate: 2026-04-14T07:23:32.0790000Z
                SubscriptionCanceled: false
                SubscriptionCanceledDate: 2026-04-14T07:23:32.0790000Z
                InitialTerm: 1
                CurrentTerm: 1
                CommitmentTerm: 0
                TermStartDate: 2026-04-14T07:23:32.0790000Z
                TermEndDate: 2026-07-14T07:23:32.0790000Z
                IsTrial: eq:true
                IsAutoRenew: eq:false
                EffectiveDate: 2026-04-29T07:23:32.0790000Z
                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-04-14T07:23:32.0796613Z
                    SubscriptionCanceled: false
                    SubscriptionCanceledDate: 2026-04-14T07:23:32.0796613Z
                    InitialTerm: 1
                    CurrentTerm: 1
                    CommitmentTerm: 0
                    TermStartDate: 2026-04-14T07:23:32.0796613Z
                    TermEndDate: 2026-07-14T07:23:32.0796613Z
                    IsTrial: true
                    IsAutoRenew: false
                    EffectiveDate: 2026-04-29T07:23:32.0796613Z
                    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-04-14T07:23:32.2830000Z
                SubscriptionCanceled: false
                SubscriptionCanceledDate: 2026-04-14T07:23:32.2830000Z
                InitialTerm: 1
                CurrentTerm: 1
                CommitmentTerm: 0
                TermStartDate: 2026-04-14T07:23:32.2830000Z
                TermEndDate: 2026-07-14T07:23:32.2830000Z
                IsTrial: eq:true
                IsAutoRenew: eq:false
                EffectiveDate: 2026-04-29T07:23:32.2830000Z
                EndDate: 2026-04-14T07:23:32.2830000Z
                SubscriptionProductUpdated: false
                SubscriptionProductUpdatedDate: 2026-04-14T07:23:32.2830000Z
                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-04-14T07:23:32.2831846Z
                    SubscriptionCanceled: false
                    SubscriptionCanceledDate: 2026-04-14T07:23:32.2831846Z
                    InitialTerm: 1
                    CurrentTerm: 1
                    CommitmentTerm: 0
                    TermStartDate: 2026-04-14T07:23:32.2831846Z
                    TermEndDate: 2026-07-14T07:23:32.2831846Z
                    IsTrial: true
                    IsAutoRenew: false
                    EffectiveDate: 2026-04-29T07:23:32.2831846Z
                    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 CRSB usage report API call (GSM level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned CRSB usage report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
        GSM:
          description: Details for a given GSM console.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_GSMEntry'
    UsageReportCRSB_ReportInfo:
      type: object
      description: Report details for GSM usage information.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        GSMKey:
          type: string
          description: The GSM key the report is based on.
          nullable: true
        ReportType:
          type: string
          description: The type of report being requested.
          nullable: true
    UsageReportCRSB_GSMEntry:
      type: object
      description: Details for a given GSM Console.
      additionalProperties: false
      properties:
        GSMConsoleName:
          type: string
          description: The name of the GSM console.
          nullable: true
        LicenseType:
          type: string
          description: The license type of the GSM site ("Trial", "Full").
          nullable: true
        ExpiryDate:
          type: string
          description: The expiration date for the GSM console license.
          format: date-time
          nullable: true
        Usage:
          type: array
          description: List of usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_GSM_UsageEntry'
    UsageReportCRSB_GSM_UsageEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_UsageEntryBase'
      - type: object
        description: Details for a given "CRSB" usage entry.
        additionalProperties: false
        properties:
          Endpoints:
            type: integer
            description: The number of endpoints.
            format: int32
    UsageReportCRSB_UsageEntryBase:
      type: object
      description: Represents the base class for a usage entry in the CRSB Usage Report.
      additionalProperties: false
      properties:
        Type:
          type: string
          description: Usage report type.
          nullable: true
        TotalStorageUsedStandard:
          type: number
          description: Total standard retention storage used (in GB).
          format: double
        TotalStorageUsedCustom:
          type: number
          description: Total custom retention storage used (in GB).
          format: double
    UsageReportCRSB_Sites:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_CRSB'
      - type: object
        description: Data model returned by CRSB usage report API methods (multi sites).
        additionalProperties: false
    UsageReportSitesBase_CRSB:
      type: object
      description: Data model returned by "CRSB" related usage report API methods (site level)..
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCRSB_Site_ReportInfo'
        Sites:
          type: array
          description: Site details for the given GSM/site keycode.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_SiteEntry'
    UsageReportCRSB_Site_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
      - type: object
        description: Report details for site specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of sites returned in the current request.
            format: int32
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
    UsageReportCRSB_SiteEntry:
      type: object
      description: Site details in CRSB usage reports.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site.
          nullable: true
        SiteName:
          type: string
          description: The name of the site.
          nullable: true
        SiteStatus:
          type: string
          description: The status of the site ("active", "deactivated", "suspended", "expired").
          nullable: true
        LicenseType:
          type: string
          description: The license type of the site ("Trial", "Full").
          nullable: true
        ExpiryDate:
          type: string
          description: The expiration date for the site license.
          format: date-time
          nullable: true
        Usage:
          type: array
          description: List of usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_Site_UsageEntry'
    UsageReportCRSB_Site_UsageEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_UsageEntryBase'
      - type: object
        description: Details for a given "CRSB" usage entry.
        additionalProperties: false
        properties:
          Endpoints:
            type: integer
            description: The number of endpoints.
            format: int32
    UsageReportCRSB_Site:
      allOf:
      - $ref: '#/components/schemas/UsageReportSitesBase_CRSB'
      - type: object
        description: Data model returned by "CRSB" usage report API methods (single site).
        additionalProperties: false
    UsageReportGSMEndpoints_CRSB:
      allOf:
      - $ref: '#/components/schemas/UsageReportEndpointsBase_CRSB'
      - type: object
        description: Data model returned by CRSB usage report API call (endpoints level).
        additionalProperties: false
    UsageReportEndpointsBase_CRSB:
      type: object
      description: Data model returned by CRSB usage report API call (endpoints level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportEndpoints_CRSB_ReportInfo'
        Endpoints:
          type: array
          description: Endpoint details for the given GSM/site keycode.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportEndpoints_CRSB_EndpointEntry'
    UsageReportEndpoints_CRSB_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_ReportInfo'
      - type: object
        description: Report details for endpoint specific usage information.
        additionalProperties: false
        properties:
          Count:
            type: integer
            description: The number of endpoints returned in the current request.
            format: int32
          SiteKeyFilter:
            type: string
            description: The site key that was used as a filter.
            nullable: true
          ContinuationToken:
            type: string
            description: The continuation token that needs to be used for the next batch of records.
            nullable: true
    UsageReportEndpoints_CRSB_EndpointEntry:
      type: object
      description: Endpoint details in CRSB usage reports.
      additionalProperties: false
      properties:
        BackupDeviceId:
          type: string
          description: Backup device id of the endpoint.
          nullable: true
        SiteId:
          type: string
          description: The site identifier this endpoint belongs to.
          nullable: true
        SiteKey:
          type: string
          description: The keycode for the site this endpoint belongs to.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint.
          nullable: true
        DeviceType:
          type: string
          description: The type of the respective device.
          nullable: true
        ActivationStatus:
          type: string
          description: The status of the endpoint.
          nullable: true
        ActivationStatusTime:
          type: string
          description: The date when the activation state has changed for the last time.
          format: date-time
          nullable: true
        FirstSeen:
          type: string
          description: The date this endpoint was first seen.
          format: date-time
          nullable: true
        LastSeen:
          type: string
          description: The date this endpoint was last seen.
          format: date-time
          nullable: true
        LastBackup:
          type: string
          description: The date when the last backup was performed.
          format: date-time
          nullable: true
        SubscriptionType:
          type: string
          description: Subscription type of the endpoint.
          nullable: true
        Usage:
          type: array
          description: List of usage entries categorized by report type.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCRSB_Endpoint_UsageEntry'
    UsageReportCRSB_Endpoint_UsageEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCRSB_UsageEntryBase'
      - type: object
        description: Details for a given "CRSB" usage entry.
        additionalProperties: false
    UsageReportSiteEndpoints_CRSB:
      allOf:
      - $ref: '#/components/schemas/UsageReportEndpointsBase_CRSB'
      - type: object
        description: Data model returned by CRSB usage report API call (endpoints level).
        additionalProperties: false
    UsageReportCloudally_Partner:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (partner level).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_General'
        Products:
          type: array
          description: Product details for a given partner key.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
    UsageReportCloudally_ReportInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ReportInfoBase'
      - type: object
        description: Report details for Cloudally usage information.
        additionalProperties: false
    UsageReportCloudally_ReportInfoBase:
      type: object
      description: Report details for Cloudally usage information.
      additionalProperties: false
      properties:
        EffectiveDate:
          type: string
          description: The effective day the report refers to.
          format: date-time
        PartnerKey:
          type: string
          description: The partner key the report is based on.
          nullable: true
        ReportType:
          type: string
          description: The type of report being requested.
          nullable: true
    UsageReportCloudally_General:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details about the returned report.
        additionalProperties: false
    UsageReportCloudally_GeneralInfoBase:
      type: object
      description: General details for Cloudally partner usage information.
      additionalProperties: false
      properties:
        PartnerName:
          type: string
          description: The partner name the report is based on. This field is currently not populated and may return null or an empty string in the current implementation.
          nullable: true
        PartnerId:
          type: string
          description: The partner id the report is based on.
          nullable: true
        PartnerLicenseType:
          type: string
          description: The license type of the partner.
          nullable: true
        PartnerExpiryDate:
          type: string
          description: The expiry date of the partner.
          format: date-time
          nullable: true
    UsageReportCloudally_ProductEntry:
      type: object
      description: Cloudally product details in the usage report.
      additionalProperties: false
      properties:
        ProductName:
          type: string
          description: The Cloudally product name.
          nullable: true
        HighWatermarkEndpoints:
          type: integer
          description: The high watermark endpoints in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        HighWatermarkGigabytes:
          type: number
          description: The high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
        HighWatermarkDate:
          type: string
          description: The high watermark date in the specified report period.
          format: date-time
          nullable: true
    UsageReportCloudally_Customers:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (multi customer).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo'
        General:
          description: General details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo'
        Customers:
          type: array
          description: Details about the returned products for all the customers for partner key in the report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_CustomerEntry'
    UsageReportCloudally_GeneralInfo:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details for partner specific usage information.
        additionalProperties: false
    UsageReportCloudally_CustomerEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo_CustomerBase'
      - type: object
        description: General details for customer specific usage information.
        additionalProperties: false
        properties:
          CustomerKey:
            type: string
            description: The Customer key the report is based on.
            nullable: true
    UsageReportCloudally_GeneralInfo_CustomerBase:
      type: object
      description: General details for Cloudally customer specific usage information.
      additionalProperties: false
      properties:
        CustomerName:
          type: string
          description: The Customer name the report is based on.
          nullable: true
        CustomerId:
          type: string
          description: The Customer id the report is based on.
          nullable: true
        CustomerLicenseType:
          type: string
          description: The license type of the customer.
          nullable: true
        CustomerExpiryDate:
          type: string
          description: The expiry date of the customer license.
          format: date-time
          nullable: true
        Products:
          type: array
          description: Product details of the Cloudally product.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
    UsageReportCloudally_Customer:
      type: object
      description: Data model returned by the Cloudally partner keycode usage report API call (single customer).
      additionalProperties: false
      properties:
        ReportInfo:
          description: Details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_ReportInfo_Customer'
        General:
          description: General customer details about the returned report.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfo_Customer'
        Products:
          type: array
          description: Details about the returned products in the usage report.
          nullable: true
          items:
            $ref: '#/components/schemas/UsageReportCloudally_ProductBreakdownEntry'
    UsageReportCloudally_ReportInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ReportInfoBase'
      - type: object
        description: Details about the returned report.
        additionalProperties: false
        properties:
          CustomerKey:
            type: string
            description: The Customer key the report is based on.
            nullable: true
    UsageReportCloudally_GeneralInfo_Customer:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_GeneralInfoBase'
      - type: object
        description: General details about the returned report.
        additionalProperties: false
        properties:
          CustomerName:
            type: string
            description: The Customer name the report is based on.
            nullable: true
          CustomerId:
            type: string
            description: The Customer id the report is based on.
            nullable: true
          CustomerLicenseType:
            type: string
            description: The license type of the customer.
            nullable: true
          CustomerExpiryDate:
            type: string
            description: The expiry date of the customer license.
            format: date-time
            nullable: true
    UsageReportCloudally_ProductBreakdownEntry:
      allOf:
      - $ref: '#/components/schemas/UsageReportCloudally_ProductEntry'
      - type: object
        description: Cloudally product details with breakdown in the usage report.
        additionalProperties: false
        properties:
          Breakdown:
            type: array
            description: Breakdown details of the Cloudally product.
            nullable: true
            items:
              $ref: '#/components/schemas/UsageReportCloudally_BreakdownEntry'
    UsageReportCloudally_BreakdownEntry:
      type: object
      description: Breakdown details for Cloudally products.
      additionalProperties: false
      properties:
        BreakdownType:
          type: string
          description: The type of the breakdown.
          nullable: true
        BackedUpEntities:
          type: integer
          description: The backed up high watermark entities in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        BackedUpStorage:
          type: number
          description: The backed up high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
        BillableEntities:
          type: integer
          description: The billable high watermark entities in the specified report period. Ignored in JSON only when null.
          format: int32
          nullable: true
        BillableStorage:
          type: number
          description: The billable high watermark gigabytes in the specified report period. Ignored in JSON only when null.
          format: double
          nullable: true
    GSMSuperAdminRequestModel:
      type: object
      description: >-
        Specifies information required to initiate the process for adding an existing console user as an API-only super admin to a GSM console.


        **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, CRSB).
      additionalProperties: false
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          nullable: true
        Seats:
          type: integer
          description: The total number of seats allowed on the module.
          format: int32
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          nullable: true
        EndDate:
          type: string
          description: The expiry date of the module.
          format: date-time
          nullable: true
        ProvisioningStatus:
          description: The provisioning status information for the module.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ModuleProvisioningStatus'
    ModuleProvisioningStatus:
      type: object
      description: Represents provisioning status information for a module in the response. Contains only status for API response. ErrorMessage is excluded from serialization.
      additionalProperties: false
      properties:
        Status:
          type: string
          description: Gets or sets the provisioning status (e.g., Success, Error, Pending, Initiated, DeProvisionPending, DeProvisioned).
          nullable: true
    GetGSMSitesResponseModel:
      type: object
      description: Provides information about the list of sites associated with a given GSM console.
      additionalProperties: false
      properties:
        TotalSeatsAllowed:
          type: integer
          description: The total number of Parent Keycode Site Seats/devices purchased.
          format: int32
        ParentDescription:
          type: string
          description: Indicates if parent key is a "Full" or "Trial" license.
          nullable: true
        SumTotalDevices:
          type: integer
          description: The total number of Active Devices installed on the GSM sites.
          format: int32
        SumTotalDevicesAllowed:
          type: integer
          description: The total number of Site Seats allocated to all GSM sites.
          format: int32
        SumTotalDevicesNotTrial:
          type: integer
          description: The total number of Site Seats allocated to all GSM sites which are not trial sites.
          format: int32
        SumTotalMobileDevicesAllowed:
          type: integer
          description: The total number of mobile Site Seats allocated to the GSM sites.
          format: int32
        TotalCount:
          type: integer
          description: The total number of sites under the GSM.
          format: int32
        Sites:
          type: array
          description: List of site details records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetGSMSitesResponseModel_Site'
    GetGSMSitesResponseModel_Site:
      type: object
      description: Provides information about a given GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The site identifier.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        SiteType:
          type: string
          description: The console type. The value "R" indicates a GSM site.
          nullable: true
        TotalEndpoints:
          type: integer
          description: Total number of endpoints that are installed on the site.
          format: int32
        PCsInfected24:
          type: integer
          description: Number of endpoints infected in the last 24 hours on the site.
          format: int32
        AccountKeyCode:
          type: string
          description: The keycode of the site.
          nullable: true
        DevicesAllowed:
          type: integer
          description: Number of Site Seats for the keycode.
          format: int32
        MobileSeats:
          type: integer
          description: Number of mobile Site Seats for the keycode.
          format: int32
        Deactivated:
          type: boolean
          description: Value (true/false) indicating whether the site is deactivated.
        Suspended:
          type: boolean
          description: Value (true/false) indicating whether the site is suspended.
        EndDate:
          type: string
          description: Date when the keycode expires.
          format: date-time
          nullable: true
        Device:
          type: boolean
          description: Value (true/false) indicating whether one or more endpoints have been installed with the site's keycode.
        Infect:
          type: boolean
          description: Value (true/false) indicating whether one or more endpoints were infected in the last 24 hours on the site.
        BillingCycle:
          type: string
          description: The site's billing cycle (Annually, Quarterly, Monthly, Weekly).
          nullable: true
        BillingDate:
          type: string
          description: The site's billing date.
          nullable: true
        CompanyComments:
          type: string
          description: The comments that was given on creation of the site.
          nullable: true
        DeactivatedBy:
          type: string
          description: The e-mail address of the user who deactivated a site, if a site has been deactivated.
          nullable: true
        SuspendedBy:
          type: string
          description: The e-mail address of the user who suspended a site, if a site has been suspended.
          nullable: true
        CreatedBy:
          type: string
          description: The e-mail address of the user who created the site.
          nullable: true
        GlobalPolicies:
          type: boolean
          description: Value (true/false) indicating whether the site has global policies enabled.
        GlobalOverrides:
          type: boolean
          description: Value (true/false) indicating whether the site has global overrides enabled.
        GlobalAlerts:
          type: boolean
          description: >-
            Value indicating whether the site has global alerts enabled.


            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, CRSB).
      additionalProperties: false
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          nullable: true
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          nullable: true
        EndDate:
          type: string
          description: The expiry date of the module.
          format: date-time
          nullable: true
        ProvisioningStatus:
          description: The provisioning status information for the module.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/ModuleProvisioningStatus'
    GetGSMStatisticsEndpointProtectionResponseModel:
      type: object
      description: Provides statistics information about a GSM console
      additionalProperties: false
      properties:
        TotalDevicesInstalled:
          type: integer
          description: Number of devices with endpoint protection installed.
          format: int32
        TotalDevicesInfected:
          type: integer
          description: Number of infected devices.
          format: int32
        RequiringAttention:
          type: integer
          description: Number of infected devices which require attention.
          format: int32
        WithActiveThreats:
          type: integer
          description: Number of active, uncleaned threats.
          format: int32
        ParentSeats:
          type: integer
          description: Number of parent seats reserved for this console.
          format: int32
        TotalDevicesAllowed:
          type: integer
          description: Number of devices allowed.
          format: int32
        DeactivatedSites:
          type: integer
          description: Number of sites that have been deactivated.
          format: int32
        SuspendedSites:
          type: integer
          description: Number of sites that have been suspended.
          format: int32
        TrialSites:
          type: integer
          description: Number of sites with trial licenses.
          format: int32
        FullSites:
          type: integer
          description: Number of sites with full licenses.
          format: int32
        ExpiredSites:
          type: integer
          description: Number of sites that have expired.
          format: int32
        ExpiringSites:
          type: integer
          description: Number of sites that are about to expire.
          format: int32
        ActivatedSites:
          type: integer
          description: Number of sites that are not deactivated.
          format: int32
        TotalSites:
          type: integer
          description: Total number of sites available in the queried entity (GSM or site).
          format: int32
    GetSiteStatisticsEndpointProtectionResponseModel:
      type: object
      description: Provides statistics information about a GSM site.
      additionalProperties: false
      properties:
        TotalDevicesInstalled:
          type: integer
          description: Number of devices with endpoint protection installed.
          format: int32
        TotalDevicesInfected:
          type: integer
          description: Number of infected devices.
          format: int32
        RequiringAttention:
          type: integer
          description: Number of infected devices which require attention.
          format: int32
        WithActiveThreats:
          type: integer
          description: Number of active, uncleaned threats.
          format: int32
        ParentSeats:
          type: integer
          description: Number of parent seats reserved for this console.
          format: int32
        TotalDevicesAllowed:
          type: integer
          description: Number of devices allowed.
          format: int32
    GetGSMStatisticsDNSPResponseModel:
      type: object
      description: Provides DNSP statistics information about a GSM console.
      additionalProperties: false
      properties:
        TotalDevicesActive:
          type: integer
          description: Number of active DNSP agents in this GSM console.
          format: int32
        TotalDevicesInactive:
          type: integer
          description: Number of inactive DNSP agents in this GSM console.
          format: int32
    GetSiteStatisticsDNSPResponseModel:
      type: object
      description: Provides DNSP statistics information about a GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the GSM site that was queried.
          nullable: true
        SiteName:
          type: string
          description: The name of the GSM site that was queried.
          nullable: true
        DevicesActive:
          type: integer
          description: Number of active DNSP agents in this GSM site.
          format: int32
        DevicesInactive:
          type: integer
          description: Number of inactive DNSP agents in this GSM site.
          format: int32
    GetGSMStatisticsWSATResponseModel:
      type: object
      description: Provides WSAT statistics information about a GSM console.
      additionalProperties: false
      properties:
        TotalPhishingCampaigns:
          type: integer
          description: Number of phishing campaigns in this GSM console.
          format: int32
        TotalTrainingCampaigns:
          type: integer
          description: Number of training campaigns in this GSM console.
          format: int32
    GetSiteStatisticsWSATResponseModel:
      type: object
      description: Provides WSAT statistics information about a GSM site.
      additionalProperties: false
      properties:
        SiteId:
          type: string
          description: The identifier of the GSM site that was queried.
          nullable: true
        SiteName:
          type: string
          description: The name of the GSM site that was queried.
          nullable: true
        PhishingCampaigns:
          type: integer
          description: Number of phishing campaigns in this GSM site.
          format: int32
        TrainingCampaigns:
          type: integer
          description: Number of training campaigns in this GSM site.
          format: int32
    GetGSMStatisticsCRSBResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetStatisticsCRSBBaseResponseModel'
      - type: object
        description: Provides CRSB statistics information about a GSM console.
        additionalProperties: false
    GetStatisticsCRSBBaseResponseModel:
      type: object
      description: Provides CRSB statistics information about a GSM console.
      additionalProperties: false
      properties:
        Pending:
          type: integer
          description: Number of endpoints in 'Pending' state.
          format: int32
          nullable: true
        Protected:
          type: integer
          description: Number of endpoints in 'Protected' state.
          format: int32
          nullable: true
        PartiallyProtected:
          type: integer
          description: Number of endpoints in 'Partially Protected' state.
          format: int32
          nullable: true
        NeedsAttention:
          type: integer
          description: Number of endpoints in 'NeedsAttention' state.
          format: int32
          nullable: true
        ScheduledForDeletion:
          type: integer
          description: Number of endpoints in 'ScheduledForDeletion' state.
          format: int32
          nullable: true
        Expired:
          type: integer
          description: Number of endpoints in 'Expired' state.
          format: int32
          nullable: true
    GetSiteStatisticsCRSBResponseModel:
      allOf:
      - $ref: '#/components/schemas/GetStatisticsCRSBBaseResponseModel'
      - type: object
        description: Provides CRSB statistics information about a GSM site.
        additionalProperties: false
        properties:
          SiteId:
            type: string
            description: The identifier of the GSM site that was queried.
            nullable: true
          SiteName:
            type: string
            description: The name of the GSM site that was queried.
            nullable: true
    GetGSMSSOTokenResponseModel:
      type: object
      description: Provides information about the single sign-on token for navigating to the GSM Console.
      additionalProperties: false
      properties:
        GSMKeyCode:
          type: string
          description: The keycode for the GSM Console the single sign-on URL is valid for.
          nullable: true
        UserName:
          type: string
          description: The name of the authenticated user that will be logged in to the console when using the single sign-on URL.
          nullable: true
        WebConsoleURL:
          type: string
          description: Direct URL to the GSM console.
          nullable: true
    GetGSMSiteSSOTokenResponseModel:
      type: object
      description: Provides information about the single sign-on URL for navigating to the Endpoint Protection Console.
      additionalProperties: false
      properties:
        GSMKeyCode:
          type: string
          description: The GSM parent keycode.
          nullable: true
        SiteId:
          type: string
          description: The site identifier of the GSM site the single sign-on URL is valid for.
          nullable: true
        AccountKeyCode:
          type: string
          description: The keycode of the GSM site the single sign-on URL is valid for.
          nullable: true
        SiteName:
          type: string
          description: The site name.
          nullable: true
        UserName:
          type: string
          description: The name of the authenticated user that will be logged in to the console when using the single sign-on URL.
          nullable: true
        WebConsoleURL:
          type: string
          description: Direct URL to the Endpoint Protection Console.
          nullable: true
    CreateGSMSiteResponseModel:
      type: object
      description: Provides key information about the newly created site.
      additionalProperties: false
      properties:
        KeyCode:
          type: string
          description: The keycode for the created site.
          nullable: true
        SiteId:
          type: string
          description: The identifier for the created site.
          nullable: true
        PCAccess:
          type: integer
          description: The PC Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.
          format: int32
        MSAccess:
          type: integer
          description: The Mobile Security Access Level for the created site. Values are 128 for admin access, 1 for view only access, 0 for no access.
          format: int32
    CreateGSMSiteRequestModel:
      type: object
      description: Specifies information for creating the new site under a GSM console.
      additionalProperties: false
      required:
      - SiteName
      - Seats
      - Comments
      - Emails
      properties:
        SiteName:
          type: string
          description: The name of the site.
          minLength: 1
        Seats:
          type: integer
          description: The number of seats for the site.
          format: int32
        Comments:
          type: string
          description: The description for the site. Maximum of 1000 characters is allowed.
          minLength: 1
        BillingCycle:
          type: string
          description: Value specifying the billing cycle. Valid values are "Annually", "Quarterly", "Monthly", or "Weekly". Default value is "Annually".
          nullable: true
        BillingDate:
          type: string
          description: "Value indicating the billing date based on the specified billing cycle. \n- For \"Annually\" specify the desired month and day of the year in the format \"MMM d\" (e.g. \"Aug 14\")\n- For \"Quarterly\" specify the desired month of the quarter and the day in the format \"MMM d\" (e.g. \"Jan 01\"). Pass \"Jan\", \"Feb\", or \"Mar\" for the first, second, or third month in the quarter, and 1 to 28 for the desired day of the month. For example \"Feb 15\" indicates that the billing occurs on the 15th day in every second month of a quarter.\n- For \"Monthly\" just specify the desired day of the month (days 1 to 28 are allowed only)\n- For \"Weekly\" just specify the desired day of the week (from 1 for Monday to 7 for Sunday)\n\nDefault value is \"Jan 01\"."
          nullable: true
        GlobalPolicies:
          type: boolean
          description: Value (true/false) indicating if global policies are enabled for the site. Default value is false.
        GlobalOverrides:
          type: boolean
          description: Value (true/false) indicating if global overrides are enabled for the site. Default value is false.
        PolicyId:
          type: string
          description: The identifier of the policy for the new site. If not specified, the policy "Recommended Defaults" is assigned to the site.
          nullable: true
        Emails:
          type: string
          description: Comma-separated list of e-mail addresses for report distribution. Maximum of 10 email addresses is allowed.
          minLength: 1
        Trial:
          type: boolean
          description: Value (true/false) indicating if the type of the created keycode for the site should be a 30 day trial license. Default value is false.
        Modules:
          type: array
          description: The list of license modules to be associated with the site.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateGSMSiteRequestModel_Module'
    CreateGSMSiteRequestModel_Module:
      type: object
      description: Provides details about a module (e.g. DNS Protection, WSAT(SECA), OTEDR, OTMDR, SAEP, PLRCS, PLRM, PLRCB, CRSB).
      additionalProperties: false
      required:
      - Type
      - LicenseType
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          minLength: 1
        LicenseType:
          type: string
          description: 'The type of the license: Full or Trial.'
          minLength: 1
        Enable:
          type: boolean
          description: >-
            Specifies whether the module should be enabled (true) or disabled (false). Defaults to true if no value is provided.


            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, CRSB).
      additionalProperties: false
      required:
      - Type
      - LicenseType
      - Enable
      properties:
        Type:
          type: string
          description: The type of the module (e.g. "DNSP" for DNS Protection, "WSAT" for Webroot Security Awareness Training, "OTEDR" for OpenText Endpoint Detection and Response, "OTMDR" for OpenText Managed Detection and Response).
          minLength: 1
        LicenseType:
          type: string
          description: >-
            The type of the license: Full or Trial.


            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", "sysisolate".
          minLength: 1
        Parameters:
          type: string
          description: "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating)."
          nullable: true
    SetCommandGroupRequestModel:
      type: object
      description: Specifies information for issuing a new command to a group of endpoints.
      additionalProperties: false
      required:
      - Command
      properties:
        Command:
          type: string
          description: The type of the command. Valid values are "scan", "cleanup", "uninstall", "changekeycode", "restart", "sysisolate".
          minLength: 1
        Parameters:
          type: string
          description: "The parameters required for the command. \n**changekeycode** and **sysisolate** commands require a *Parameters* value to be specified - for changekeycode the value needs to be the keycode to change to, for sysisolate the value needs to be either \"on\" (for isolating) or \"off\" (for unisolating)."
          nullable: true
    GetThreatHistoryResponseModel:
      type: object
      description: Provides threat history information.
      additionalProperties: false
      properties:
        MoreAvailable:
          type: boolean
          description: Value indicating whether more records are available in the queried time window. Increment the page number in the query to obtain additional threat history records.
          nullable: true
        PageNr:
          type: integer
          description: The number of the page that was requested.
          format: int32
          nullable: true
        PageSize:
          type: integer
          description: The size of the page that was requested.
          format: int32
          nullable: true
        StartDate:
          type: string
          description: Start date for returned records. Threat history entries after (or at) this date are contained in the response.
          format: date-time
        EndDate:
          type: string
          description: End date for returned records. Threat history entries before (or at) this date are contained in the response.
          format: date-time
        ThreatRecords:
          type: array
          description: List of threat history records.
          nullable: true
          items:
            $ref: '#/components/schemas/GetThreatHistoryResponseModel_Record'
    GetThreatHistoryResponseModel_Record:
      type: object
      description: Provides details about a threat incidence.
      additionalProperties: false
      properties:
        EndpointId:
          type: string
          description: The endpoint identifier on which the threat was detected.
          nullable: true
        MachineId:
          type: string
          description: Machine ID of the endpoint on which the threat was detected.
          nullable: true
        HostName:
          type: string
          description: The hostname of the endpoint on which the threat was detected.
          nullable: true
        FileName:
          type: string
          description: The filename of the detected threat.
          nullable: true
        PathName:
          type: string
          description: >-
            The path to the directory where the file was found.


            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 and OTMDR products provisioned as part of an item whose primary product is SAEP.
          format: int32
          nullable: true
        DependentCartOrderItemId:
          type: integer
          description: If present, indicates that the state of this line item depends on the state of another, and therefore should not be modified directly. Essentially, this indicates that the line item is read-only. For example, in the case of an renewal and upgrade, the upgrade line item depends on the state of the renewal line. If the license seats of the renewal line change, the license seats of the upgrade line change inversely.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode associated to this cart item.
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of the license attribute value assigned to this item.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        VendorOrderItemCode:
          type: string
          description: The vendor specific order item code.
          nullable: true
        OrderItemUpdateTypeId:
          type: integer
          description: The update type identifier for this item.
          format: int32
          nullable: true
        LicenseProfile:
          type: object
          description: The license profile associated to this item.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CartResponseServiceModel_LicenseProfile'
        LicenseSeats:
          type: integer
          description: The number of license seats associated to this cart item.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        VaultName:
          type: string
          description: The name of the datacenter vault associated with *VaultId*.
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level used for this item.
          format: int32
          nullable: true
        ProductPricingLevelDescription:
          type: string
          description: A textual representation of the *ProductPricingLevelId* field.
          nullable: true
    CartResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information for a cart item.
        additionalProperties: false
    ResponseServiceModel_LicenseProfile:
      type: object
      description: Response model for licenses.
      additionalProperties: false
      properties:
        LicenseCategoryName:
          type: string
          description: The category name of this license.
          nullable: true
        LicenseCategoryDescription:
          type: string
          description: A description of this license category.
          nullable: true
        LicenseSeats:
          type: integer
          description: The number of seats associated to this license.
          format: int32
          nullable: true
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license."
          format: int32
          nullable: true
        StartDate:
          type: string
          description: The start date associated to this license.
          format: date-time
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license.
          format: date-time
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of this LicenseAttributeValue.
          nullable: true
        LicenseAttributeDescription:
          type: string
          description: A description of this license attribute.
          nullable: true
        CategoryTypeName:
          type: string
          description: "The type of this category. \nPossible values are: trial, full."
          nullable: true
        ItemHierarchyId:
          type: integer
          description: An identifier specifying whether this item is a primary or secondary product. Secondary products have an 'ItemHierarchyId' of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.
          format: int32
          nullable: true
        ItemHierarchyName:
          type: string
          description: "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary."
          nullable: true
        LicenseStatusId:
          type: integer
          description: "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled."
          format: int32
          nullable: true
        LicenseStatusDescription:
          type: string
          description: A description for the LicenseStatusId field.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        UsageCheckDay:
          type: integer
          description: The day of the month at which usage numbers are processed for this item.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH\n\n\n**Note:** This value has been superseded by the *Vaults* list and represents the id of the first vault in the list (if such an entry is available)."
          format: int32
          nullable: true
        VaultName:
          type: string
          description: "The name of the datacenter vault associated with *VaultId*. \n**Note:** This value has been superseded by the *Vaults* list and represents the data center name of the first vault in the list (if such an entry is available)."
          nullable: true
        Vaults:
          type: array
          description: A list of data centers used for this item (applicable to backup licenses only).
          nullable: true
          items:
            $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile_Vault'
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
    ResponseServiceModel_LicenseProfile_Vault:
      type: object
      description: Information about the data center which is used for a certain license.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: The name of the vault (e.g. "FR").
          nullable: true
        Id:
          type: integer
          description: The id of the vault.
          format: int32
          nullable: true
        DataCenterName:
          type: string
          description: The name of the data center (e.g. "France Central (Paris)").
          nullable: true
        LicenseCategoryName:
          type: string
          description: The category name of this license.
          nullable: true
    CartResponseServiceModel_CartCustomers:
      type: object
      description: Customers associated to a cart.
      additionalProperties: false
      properties:
        Billing:
          description: The billing customer associated to a cart. It is set up when the cart is created and cannot be modified later on.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
        Shipping:
          description: End customer specific information.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
        Reseller:
          description: Reseller customer specific information. Is only listed if *TypeOfOrder* is "RESELLER".
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
    CartResponseServiceModel_CartCustomer:
      type: object
      description: A customer associated to a cart.
      additionalProperties: false
      properties:
        FirstName:
          type: string
          description: The first name of the customer.
          nullable: true
        LastName:
          type: string
          description: The last name of the customer.
          nullable: true
        Address1:
          type: string
          description: Address line.
          nullable: true
        Address2:
          type: string
          description: Address line 2.
          nullable: true
        City:
          type: string
          description: The city where the customer is located.
          nullable: true
        PostalCode:
          type: string
          description: The postal code of the customer's location.
          nullable: true
        State:
          type: string
          description: The state code of the customer's location.
          nullable: true
        Country:
          type: string
          description: The country code of the customer's location.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address of the customer.
          nullable: true
        CompanyName:
          type: string
          description: The name of the customer's company.
          nullable: true
        ExternalCustomerKey:
          type: string
          description: The client's identifier for the customer.
          nullable: true
        VatId:
          type: string
          description: The VAT ID of the customer.
          nullable: true
        CustomerTypeId:
          type: integer
          description: The customer type ID.
          format: int32
          nullable: true
        CustomerTypeDescription:
          type: string
          description: The description of the customer type.
          nullable: true
        OptIn:
          type: boolean
          description: Value indicating whether the customer is set to receive marketing and promotional e-mail communication from Webroot or OpenText.
          nullable: true
    CreateCartRequestServiceModel:
      type: object
      description: >-
        Request model for creating carts.


        **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, PLRP, CALLY, OSBPB."
            nullable: true
          Keycode:
            type: string
            description: The license key with which to create either a renewal or an upgrade item.
            minLength: 1
    CreateCartRequestServiceModel_Item:
      type: object
      description: Base class for items in CreateCartRequestServiceModel.
      additionalProperties: false
      required:
      - Years
      properties:
        Years:
          type: string
          description: "The number of years the license should be valid. \nPossible values are: 0, 0.083, 0.167, 0.5, 1, 1.25, 1.5, 2, 2.25, 2.5, 3, 3.25, 3.5."
          minLength: 1
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license. If not specified, a default of 1 is assumed."
          format: int32
          nullable: true
        ItemHierarchyId:
          type: integer
          description: "An identifier specifying whether the cart item is a primary or secondary product. Secondary products have an *ItemHierarchyId* of 2 and represent products dependent on a primary product. Examples include SDNS (Webroot DNS Protection), SECA (Webroot Security Awareness Training), OTEDR (OpenText Endpoint Detection and Response), OTMDR (OpenText Managed Detection and Response) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP. \nNote that the *ItemHierarchyId* field cannot be used without a *CartItemBundleId*.\nIf not specified, a default of 1 is assumed."
          format: int32
          nullable: true
        ExpirationDate:
          type: string
          description: The expiration date of this license. Although *Years* is a required input for the cart item, it is possible to define a custom expiration date by using this parameter. Specifying a custom expiration date needs to be enabled on your partner account. Please contact your Webroot representative, if you require this functionality.
          format: date-time
          nullable: true
        VendorOrderItemCode:
          type: string
          description: The vendor specific order item code.
          nullable: true
        CartItemBundleId:
          type: integer
          description: The bundle identifier for this item. Defines whether the items specified in the cart belong to the same license/keycode. If multiple items are associated with the same bundle, only one of them can have an *ItemHierarchyId* of 1.
          format: int32
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold". Please note that the exact values you can use are determined by your contract with Webroot.
          format: int32
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage will be calculated for this item. Only applicable to certain license categories like OTSF (1 = Advanced, 2 = Capacity) and CBEP (1 = Advanced, 3 = Standard). If not specified, a default is assumed. Please speak with your Webroot e-commerce business partner for defaults/values specific to your contract.
          format: int32
          nullable: true
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained (applicable to OTSF only). Legitimate values are 1 (for one year) or 2 (for seven years). Default is 1.
          format: int32
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level to use for this item (1 = Standard, 2 = EDU/Non Profit, 3 = Government). Only valid for resellers (not for MSP orders). Partners who are not configured will get a 'no pricing found' message.
          format: int32
          nullable: true
    CreateCartRequestServiceModel_ItemByAttributes:
      allOf:
      - $ref: '#/components/schemas/CreateCartRequestServiceModel_Item'
      - type: object
        description: >-
          Element for cart items based on attributes.


          **NOTE:** Each partner account configuration can have different products set up (e.g. WIFI product for 1 year with 10 seats), which restrict the values that can be specified for the *LicenseCategoryName*, *LicenseSeats*, and *Years* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.
        additionalProperties: false
        required:
        - LicenseSeats
        - LicenseCategoryName
        properties:
          LicenseSeats:
            type: integer
            description: The number of seats the license should have.
            format: int32
          LicenseCategoryName:
            type: string
            description: "License category associated to this item. \nPossible values are for example: WIFI, OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, PLRP, CALLY, OSBPB."
            minLength: 1
    GetCartResponseServiceModel:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel'
      - type: object
        description: Response model for getting carts.
        additionalProperties: false
    AddCustomersToCartResponseServiceModel:
      type: object
      description: Response model for associating a customer to a cart.
      additionalProperties: false
      properties:
        Billing:
          description: Customer record for the billing entity
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AddCustomersToCartResponseServiceModel_Customer'
        Reseller:
          description: Customer record for the reseller (if any)
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AddCustomersToCartResponseServiceModel_Customer'
        Shipping:
          description: Customer record designating the shipping entity
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AddCustomersToCartResponseServiceModel_Customer'
    AddCustomersToCartResponseServiceModel_Customer:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
      - type: object
        description: The customer record
        additionalProperties: false
    AddCustomersToCartRequestServiceModel:
      type: object
      description: Request model for associating a customer to a cart.
      additionalProperties: false
      required:
      - Shipping
      properties:
        Reseller:
          description: Customer record for the reseller (required only for 'reseller' type cart, ignored otherwise)
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/AddCustomersToCartRequestServiceModel_Customer'
        Shipping:
          description: Customer record to be added
          oneOf:
          - $ref: '#/components/schemas/AddCustomersToCartRequestServiceModel_Customer'
    AddCustomersToCartRequestServiceModel_Customer:
      type: object
      description: The customer record
      additionalProperties: false
      required:
      - Country
      - ExternalCustomerKey
      properties:
        FirstName:
          type: string
          description: >-
            The first name of the customer.


            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) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.
          format: int32
          nullable: true
        ItemBundleId:
          type: integer
          description: The bundle identifier for this order item.
          format: int32
          nullable: true
        KeyCode:
          type: string
          description: Key code associated with the item
          nullable: true
        ProductDescription:
          type: string
          description: Description of the ordered product
          nullable: true
        ProductTypeDescription:
          type: string
          description: Type of the ordered product
          nullable: true
        LicenseAttributeValue:
          type: integer
          description: A value which indicates the product usage model for this item. Digit one defines the order type (1 = MSP, 2 = reseller). Digit two determines which terms a license is based on (1 = monthly, 2 = annually). Digit three refers to the associated billing model (0 = sold, 1 = overage, 2 = utility). As an example, 210 stands for "Reseller Monthly Sold".
          format: int32
          nullable: true
        LicenseAttributeValueDescription:
          type: string
          description: A description of the license attribute value assigned to this item.
          nullable: true
        LicenseAttributeDescription:
          type: string
          description: A description of this license attribute.
          nullable: true
        UsagePricingModelId:
          type: integer
          description: A value which indicates how usage is calculated for this item. Only applicable to certain license categories like OTSF.
          format: int32
          nullable: true
        UsagePricingModelName:
          type: string
          description: The name of the usage pricing model as defined by *UsagePricingModelId*.
          nullable: true
        VaultId:
          type: integer
          description: "The data center used for this item. Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR, OTMDR and CALLY the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1\n- CALLY\n   - 133 = US\\_EST\n   - 134 = EU\n   - 135 = EU\\_FRANKFURT\n   - 136 = CANADA\n   - 137 = ASIA\\_SIDNEY\n   - 138 = ASIA\\_TOKYO\n   - 139 = LONDON\n   - 140 = EU\\_PARIS\n   - 141 = AFRICA\\_CAPE\\_TOWN\n   - 142 = ASIA\\_MUMBAI\n   - 143 = EU\\_ZURICH"
          format: int32
          nullable: true
        VaultName:
          type: string
          description: The name of the datacenter vault associated with *VaultId*.
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform used by this item (applicable to CBEP only). Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        ProductPlatformName:
          type: string
          description: A textual representation of *ProductPlatformId*.
          nullable: true
        RetentionModelId:
          type: integer
          description: Number of years data is retained. Legitimate values are 1 (for one year) or 2 (for seven years).
          format: int32
          nullable: true
        RetentionModelName:
          type: string
          description: A textual representation of *RetentionModelId*.
          nullable: true
        ProductPricingLevelId:
          type: integer
          description: Pricing level used for this item.
          format: int32
          nullable: true
        ProductPricingLevelDescription:
          type: string
          description: A textual representation of the *ProductPricingLevelId* field.
          nullable: true
        CustomAttribute:
          type: string
          description: Custom value which may be set by ECom depending on the use case.
          nullable: true
    CreateOrderResponseServiceModel_Customers:
      type: object
      description: Customer records associated with the order
      additionalProperties: false
      properties:
        Billing:
          description: Customer record used for billing
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
        Shipping:
          description: Customer record used for shipping
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
        Reseller:
          description: Reseller customer record
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateOrderResponseServiceModel_Customer'
    CreateOrderResponseServiceModel_Customer:
      allOf:
      - $ref: '#/components/schemas/CartResponseServiceModel_CartCustomer'
      - type: object
        description: Customer record associated with an order
        additionalProperties: false
        properties:
          CustomerId:
            type: integer
            description: The customer id
            format: int32
            nullable: true
          PhoneNumber:
            type: string
            description: The phone number of the customer
            nullable: true
    CreateOrderRequestServiceModel:
      type: object
      description: Request model for creating an order.
      additionalProperties: false
      required:
      - VendorOrderCode
      - PaymentMethod
      properties:
        VendorOrderCode:
          type: string
          description: Identifier of the cart to be converted into an order.
          minLength: 1
        PaymentMethod:
          type: string
          description: "The payment method for the order. \nPossible values are: PurchaseOrder."
          minLength: 1
        PurchaseOrder:
          type: string
          description: >-
            The purchase order number created by the caller.


            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) and OSBPB (OpenText Server Backup Public Cloud - Bring Your Own Cloud) products provisioned as part of an item whose primary product is SAEP.
          format: int32
          nullable: true
        ItemHierarchyName:
          type: string
          description: "The name of the hierarchy type associated to this item. \nPossible values are: primary, secondary."
          nullable: true
        LicenseStatusId:
          type: integer
          description: "The status identifier for this license. \nPossible values are: 0 = inactive, 1 = active, 2 = disabled, 3 = manually disabled."
          format: int32
          nullable: true
        LicenseStatusDescription:
          type: string
          description: A description for the LicenseStatusId field.
          nullable: true
    CreateTrialProductResponseServiceModel:
      type: object
      description: Response model for CreateTrial.
      additionalProperties: false
      properties:
        Message:
          type: string
          description: Specifies if the user has duplicate registration.
          nullable: true
        LicenseId:
          type: integer
          description: A unique identifier for the license that was queried.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ProductLineDescription:
          type: string
          description: Description of the associated product line.
          nullable: true
        Profile:
          type: object
          description: A dictionary of profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CreateTrialProductResponseServiceModel_LicenseProfile'
        Customer:
          description: The customer associated to this license.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateTrialProductResponseServiceModel_Customer'
    CreateTrialProductResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information in a profile.
        additionalProperties: false
    CreateTrialProductResponseServiceModel_Customer:
      type: object
      description: Response models for customers.
      additionalProperties: false
      properties:
        VendorCustomerCode:
          type: string
          description: Value that was assigned to identify the recipient of the license.
          nullable: true
        FirstName:
          type: string
          description: The first name of the customer.
          nullable: true
        LastName:
          type: string
          description: The last name of the customer.
          nullable: true
        Address1:
          type: string
          description: Address line.
          nullable: true
        City:
          type: string
          description: The city where the customer is located.
          nullable: true
        PostalCode:
          type: string
          description: The postal code of the customer's location.
          nullable: true
        State:
          type: string
          description: The state code of the customer's location.
          nullable: true
        Country:
          type: string
          description: The country code of the customer's location.
          nullable: true
        CustomerEmail:
          type: string
          description: The email address of the customer.
          nullable: true
        CompanyName:
          type: string
          description: The name of the customer's company.
          nullable: true
    CreateTrialProductRequestServiceModel:
      type: object
      description: >-
        Request model for CreateTrial.


        **NOTE:** Each partner account configuration can have different products set up, which restrict the values that can be specified for the *LicenseCategoryName* and *LicenseSeats* fields. Please work with your Webroot e-commerce business partner to identify valid order combinations.
      additionalProperties: false
      required:
      - LicenseSeats
      - LicenseCategoryName
      - CustomerEmail
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have.
          format: int32
        LicenseCategoryName:
          type: string
          description: "License category associated to this item. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, SECA, OTEDR, OTMDR, OSBPB"
          minLength: 1
        LicenseKeycodeTypeId:
          type: integer
          description: "The identifier of a license's keycode type. \nPossible values are: 1 = standard license, 3 = parent license. If not specified, a default of 1 is assumed."
          format: int32
          nullable: true
        FirstName:
          type: string
          description: >-
            The first name of the customer.


            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 and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite. Valid for *LicenseKeycodeTypeId* 3 and 1.\n- 2 = Azure EA. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1).\n- 3 = OnPrem. Valid for Business Single Site in Reseller Cart (*LicenseKeycodeTypeId*=1)."
          format: int32
          nullable: true
        Modules:
          type: array
          description: The modules to be added to this trial product.
          nullable: true
          items:
            $ref: '#/components/schemas/CreateTrialProductRequestServiceModel_Module'
    CreateTrialProductRequestServiceModel_Module:
      type: object
      description: Module information for products
      additionalProperties: false
      required:
      - LicenseSeats
      - LicenseCategoryName
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have.
          format: int32
        LicenseCategoryName:
          type: string
          description: "The category name of the license. \nPossible values are for example: OTSF, CBEP, WSAV, WSAI, WSAC, SAEP, SDNS, OTEDR, OTMDR, SECA, OSBPB."
          minLength: 1
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem."
          format: int32
          nullable: true
    CreateModuleTrialResponseServiceModel:
      type: object
      description: Response model for creating trial modules.
      additionalProperties: false
      properties:
        LicenseId:
          type: integer
          description: A unique identifier for the license that was queried.
          format: int32
          nullable: true
        Keycode:
          type: string
          description: Keycode identifying the license.
          nullable: true
        ProductLineDescription:
          type: string
          description: Description of the associated product line.
          nullable: true
        ParentLicenseId:
          type: integer
          description: Unique identifier for the parent license.
          format: int32
          nullable: true
        ParentKeycode:
          type: string
          description: The keycode for the parent license.
          nullable: true
        ChildLicenseActivations:
          type: integer
          description: Number of activations in child licenses.
          format: int32
          nullable: true
        PartnerStartDate:
          type: string
          description: Start date of the partner.
          format: date-time
          nullable: true
        Profile:
          type: object
          description: A dictionary of profiles.
          nullable: true
          additionalProperties:
            $ref: '#/components/schemas/CreateModuleTrialResponseServiceModel_LicenseProfile'
        Customer:
          description: The customer associated to this license.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CreateModuleTrialResponseServiceModel_Customer'
    CreateModuleTrialResponseServiceModel_LicenseProfile:
      allOf:
      - $ref: '#/components/schemas/ResponseServiceModel_LicenseProfile'
      - type: object
        description: License information in a profile.
        additionalProperties: false
    CreateModuleTrialResponseServiceModel_Customer:
      type: object
      description: Response models for customers.
      additionalProperties: false
      properties:
        VendorCustomerCode:
          type: string
          description: Customer identifier.
          nullable: true
    CreateModuleTrialRequestServiceModel:
      type: object
      description: Request model for CreateModuleTrial.
      additionalProperties: false
      required:
      - Modules
      properties:
        Modules:
          type: array
          description: Modules (e.g. DNS Protection or WSAT) for which trial licenses should be created.
          items:
            $ref: '#/components/schemas/CreateModuleTrialRequestServiceModel_Module'
    CreateModuleTrialRequestServiceModel_Module:
      type: object
      description: Module information for CreateModuleTrialRequestServiceModel.
      additionalProperties: false
      required:
      - LicenseCategoryName
      properties:
        LicenseSeats:
          type: integer
          description: The number of seats the trial license should have. If not specified, a default will be assumed based on the given keycode.
          format: int32
          nullable: true
        LicenseCategoryName:
          type: string
          description: "The category name of the license. \nPossible values are for example: SDNS, SECA, OTEDR, OTMDR, OSBPB."
          minLength: 1
        VaultId:
          type: integer
          description: "Defines which data center vault to use (applicable to OTSF, CBEP, OTEDR and OTMDR). Ids are associated with license categories. As an example, a value of '1' defines a data center in US2 for CBEP. \n**Note:** For the license categories OTEDR and OTMDR the field *VaultId* is mandatory.\nSupported values are: \n- CBEP:\n   - 18 = US\n   - 1 = US2\n   - 2 = EMEA\n   - 3 = CA\n   - 4 = FR\n   - 5 = APAC\n   - 15 = AU\n   - 16 = UK\n   - 104 = IN\n- OTSF\n   - 8 = East US 2 (Virginia)\n   - 9 = Australia East (New South Wales)\n   - 10 = Canada Central (Toronto)\n   - 11 = France Central (Paris)\n   - 12 = UK South (London)\n   - 103 = India\n   - 130 = O365 MSP Generic Vault\n- OTEDR/OTMDR\n   - 131 = US1\n   - 132 = UK1"
          format: int32
          nullable: true
        ProductPlatformId:
          type: integer
          description: "Platform to use for this item (applicable to CBEP only). If nothing is provided, a default value of 1 is assumed. Currently supported values are: \n- 1 = Carbonite.\n- 2 = Azure EA.\n- 3 = OnPrem."
          format: int32
          nullable: true
    CreateLicenseSyncResponseServiceModel:
      type: object
      description: Response model for synchronizing license updates with ecom.
      additionalProperties: false
      properties:
        LicenseServiceId:
          type: integer
          description: The license service ID associated with the license update.
          format: int32
          nullable: true
    CreateLicenseSyncRequestServiceModel:
      type: object
      description: Request model for synchronizing license updates with ecom.
      additionalProperties: false
      required:
      - LicenseCategoryName
      properties:
        LicenseCategoryName:
          type: string
          description: The license category associated with this item. If the value is different to the license category on the keycode, the license category of the keycode will be updated to the specified value. Please reach out to your e-commerce representative about which types of product category changes are allowed.
          minLength: 1
        LicenseSeats:
          type: integer
          description: If provided, updates the license seats to the specified value. Must be a positive value.
          format: int32
          nullable: true
        ExpirationDate:
          type: string
          description: If provided, updates the license expiration date to the specified value. Must be a valid date.
          format: date-time
          nullable: true
        LicenseDistributionMethodCode:
          type: string
          description: "If provided, updates the license distribution method to the specified value. \nPossible values are: ZARB, CARB."
          nullable: true
        CategoryTypeName:
          type: string
          description: "If provided, updates the license type to the specified value. \nPossible values are: trial, full."
          nullable: true
        Comment:
          type: string
          description: If provided, specifies the reason for the requested change(s).
          nullable: true
        LicenseStatusDescription:
          type: string
          description: Status of the license. If this property is provided, it must have the value "disabled" which disables the license. No other value is allowed.
          nullable: true
    GetPartnerDetailsServiceModel:
      type: object
      description: Response model for getting partner information.
      additionalProperties: false
      properties:
        PartnerName:
          type: string
          description: Name of the partner.
          nullable: true
        PartnerType:
          type: string
          description: "Specifies the type of partner. \nPossible values are: Direct, Channel."
          nullable: true
        TrialProducts:
          type: array
          description: List of trial products associated with the partner.
          nullable: true
          items:
            type: string
        PaidProducts:
          type: array
          description: List of paid products associated with the partner.
          nullable: true
          items:
            type: string
    VersionResponseModel:
      type: object
      description: Response model for querying version information.
      additionalProperties: false
      properties:
        ServiceInformation:
          description: Gets or sets the version details of the service application.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/VersionDetails'
        LoadedExtensions:
          type: array
          description: Gets or sets the version details of loaded service extensions.
          nullable: true
          items:
            $ref: '#/components/schemas/VersionDetails'
    VersionDetails:
      type: object
      description: Provides version information about an assembly module.
      additionalProperties: false
      properties:
        Name:
          type: string
          description: Gets the name of the module.
          nullable: true
        Company:
          type: string
          description: Gets the company name string of the module.
          nullable: true
        Product:
          type: string
          description: Gets the product name string of the module.
          nullable: true
        Copyright:
          type: string
          description: Gets the copyright string of the module.
          nullable: true
        Title:
          type: string
          description: Gets the title string of the module.
          nullable: true
        FileVersion:
          type: string
          description: Gets the file version string of the module.
          nullable: true
        Version:
          type: string
          description: Gets the module version string of the module.
          nullable: true
    GetEventTypesResponseModel:
      type: object
      description: Provides information about the available event types that can be subscribed to, including required scope permissions and domains.
      additionalProperties: false
      properties:
        Count:
          type: integer
          description: The total number of available event types.
          format: int32
        EventTypes:
          type: array
          description: The list of supported event types.
          nullable: true
          items:
            $ref: '#/components/schemas/GetEventTypesResponseModelEventType'
    GetEventTypesResponseModelEventType:
      type: object
      description: Provides details about an event type.
      additionalProperties: false
      properties:
        EventType:
          type: string
          description: The type name of the event.
          nullable: true
        Description:
          type: string
          description: The description of the event type.
          nullable: true
        Scopes:
          type: array
          description: The list of scopes associated with the event type. Your user needs to have access to at least one scope in order to be allowed to subsribe to events of this type.
          nullable: true
          items:
            type: string
        Domains:
          type: array
          description: The domains supported by the event type.
          nullable: true
          items:
            $ref: '#/components/schemas/GetEventTypesResponseModelEventTypeDomain'
    GetEventTypesResponseModelEventTypeDomain:
      type: object
      description: >-
        Provides details about the domains supported by the event type.


        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'
        WtsUrlActionEvent:
          description: Information about a Web Threat Shield event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/WtsUrlActionEventModel'
        BackupEvent:
          description: Information about a backup event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbBackupEventModel'
        RestoreEvent:
          description: Information about a restore event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbRestoreEventModel'
        AgentRegistrationEvent:
          description: Information about a agent registration event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbAgentRegistrationEventModel'
        AgentSettingsChangedEvent:
          description: Information about an agent settings changed event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbSettingsChangedEventModel'
        ResourceDeletedEvent:
          description: Information about a resource deleted event that occurred on an endpoint.
          nullable: true
          oneOf:
          - $ref: '#/components/schemas/CrsbResourceDeletedEventModel'
    EndpointFileDetectionEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the Endpoint.FileDetection event type, based on the time when the event occurred.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          ScanInfo:
            description: Information about the type of scan which led to the detection.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/EndpointFileDetectionEventModelScanInfo'
          DetectionInfo:
            description: Information about the detection that occurred.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/EndpointFileDetectionEventModelDetectionInfo'
    EndpointFileDetectionEventModelScanInfo:
      type: object
      description: Provides details about the type of scan which led to the detection.
      additionalProperties: false
      properties:
        ScanId:
          type: string
          description: The unique identifier of the scan execution.
          nullable: true
        ScanType:
          type: string
          description: "The type code of scan that was carried out. Most common scan types for example are: \n- AL: Anti-Exploit learning scan\n- AM: Anti-Exploit meta scan\n- AR: Anti-Exploit realtime scan\n- AU: Anti-Exploit update scan\n- DS: WSA Deep Scan\n- FS: WSA fast scan\n- MS: WSA manual scan\n- QS: WSA quick scan\n- RT: WSA realtime scan"
          nullable: true
    EndpointFileDetectionEventModelDetectionInfo:
      type: object
      description: Provides details about the detection that occurred on an endpoint.
      additionalProperties: false
      properties:
        FileName:
          type: string
          description: The name of the detected file.
          nullable: true
        FilePath:
          type: string
          description: The path where the file was located on the endpoint.
          nullable: true
        FileSize:
          type: integer
          description: The size of the file, in bytes.
          format: int64
        FileMD5:
          type: string
          description: The MD5 hash of the file's content.
          nullable: true
        FileSHA256:
          type: string
          description: The SHA256 hash of the file's content.
          nullable: true
        Determination:
          type: string
          description: The Webroot classification of the file. Most common values in the context of the endpoint file detection event type will be "B" (Bad) or "U" (Undetermined).
          nullable: true
        MalwareGroup:
          type: string
          description: The malware group which the file was classified in.
          nullable: true
    NotificationEventModel:
      type: object
      description: Base model for notification events.
      additionalProperties: false
    WtsUrlActionEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the WebThreatShield.UrlAction event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          BlockDetails:
            description: Information about the block action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/WtsUrlActionEventModelBlockDetails'
    WtsUrlActionEventModelBlockDetails:
      type: object
      description: Provides details about the actual block action.
      additionalProperties: false
      properties:
        ActionTaken:
          type: string
          description: "The action that was taken by Web Threat Shield and/or the user. Currently the following values are supported: \n- BLOCK: The user was blocked from visiting the URL.\n- RECLASSIFY: The user requested a review of the category and reputation of the URL.\n- WHITELIST: The user white-listed the URL."
          nullable: true
        BlockedUrl:
          type: string
          description: The URL that was blocked on the endpoint.
          nullable: true
        BlockReasonId:
          type: integer
          description: The BrightCloud category which caused Web Threat Shield to block the respective URL (e.g. 67). To view a list of all available web categories, visit this [BrightCloud page](https://www.brightcloud.com/tools/change-request.php#urlcategories).
          format: int32
          nullable: true
        BlockReasonName:
          type: string
          description: The name of the category specified by *BlockReasonId*, or "Low Reputation", if *BlockReasonId* is 0.
          nullable: true
        BCRI:
          type: integer
          description: "The BrightCloud Reputation Index (BCRI) value that caused Web Threat Shield to block the URL. The BrightCloud Reputation Index is a security related score which is based on BrightCloud intelligence for a given URL: 80-100 is trustworthy, 60-79 is low risk, 40-59 is moderate risk, 20-39 is suspicious and 0-19 is high risk. \n**Note: **The *BCRI* value may be null, if a URL is blocked via means of advanced in-place analysis instead of its URL reputation or category, or if *ActionTaken* is \"WHITELIST\"."
          format: int32
          nullable: true
    CrsbBackupEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the backup event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          BackupDetails:
            description: Information about the backup action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbBackupEventModelDetails'
    CrsbBackupEventModelDetails:
      type: object
      description: Provides details about the actual backup action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the backup event.
          nullable: true
        Date:
          type: string
          description: Backup event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        RealLocalTime:
          type: string
          description: The local time on the agent when the event occurred, in ISO8601 format.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event (may be empty for backup events).
          nullable: true
        BackupType:
          type: string
          description: Type of backup performed.
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        BackupDeviceName:
          type: string
          description: Friendly name of the backup device.
          nullable: true
        BackupLocation:
          type: string
          description: Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).
          nullable: true
        BackupJobId:
          type: string
          description: Unique identifier for the backup job.
          nullable: true
        RetentionModel:
          type: string
          description: Retention model used for the backup (e.g., Custom, Standard).
          nullable: true
        RPRealLocalTime:
          type: string
          description: Local time (ISO8601) when the backup started on the agent.
          nullable: true
        RPId:
          type: string
          description: Restore point identifier, available only if backup completed partially or successfully.
          nullable: true
        TimeElapsedSec:
          type: integer
          description: Time taken for the backup operation, in seconds.
          format: int32
        LogLocation:
          type: string
          description: File system location of the backup logs.
          nullable: true
        ProtectedSizeBytes:
          type: integer
          description: Total size of the data protected in bytes.
          format: int64
        DeltaSizeBytes:
          type: integer
          description: Size of the delta (incremental) data backed up in bytes.
          format: int64
        TransmittedSizeBytes:
          type: integer
          description: Size of the data transmitted during backup in bytes.
          format: int64
        Status:
          type: string
          description: Status of the backup operation.
          nullable: true
        StatusReason:
          type: string
          description: Reason for the backup status, if applicable.
          nullable: true
    CrsbRestoreEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the restore event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          RestoreDetails:
            description: Information about the restore action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbRestoreEventModelDetails'
    CrsbRestoreEventModelDetails:
      type: object
      description: Provides details about the actual restore action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the restore event.
          nullable: true
        Date:
          type: string
          description: Restore event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        RealLocalTime:
          type: string
          description: The local time on the agent when the event occurred, in ISO8601 format.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event (may be empty for restore events).
          nullable: true
        RecoveryType:
          type: string
          description: Type of restore performed.
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        BackupDeviceName:
          type: string
          description: Friendly name of the backup device.
          nullable: true
        BackupLocation:
          type: string
          description: Location where the backup is stored (e.g., AwsS3, Appliance, LocalSnapshot).
          nullable: true
        BackupVolumeName:
          type: string
          description: Root path where the backup was stored.
          nullable: true
        DestinationVolumeName:
          type: string
          description: Root path of the destination where the backup was stored.
          nullable: true
        BackupJobId:
          type: string
          description: Unique identifier for the backup job.
          nullable: true
        RPRealLocalTime:
          type: string
          description: Local time (ISO8601) when the restore started on the agent.
          nullable: true
        RealLocalTimeStarted:
          type: string
          description: Local time when the restore started.
          nullable: true
        RPId:
          type: string
          description: Restore point identifier, available only if restore completed partially or successfully.
          nullable: true
        TimeElapsedSec:
          type: integer
          description: Time taken for the restore operation, in seconds.
          format: int32
        LogLocation:
          type: string
          description: File system location of the restore logs.
          nullable: true
        RecoveredSizeBytes:
          type: integer
          description: Total size of the data successfully restored during the restore operation in bytes.
          format: int64
        TransmittedSizeBytes:
          type: integer
          description: Size of the data transmitted during backup in bytes.
          format: int64
        Status:
          type: string
          description: Status of the restore operation.
          nullable: true
        StatusReason:
          type: string
          description: Reason for the restore status, if applicable.
          nullable: true
    CrsbAgentRegistrationEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the agent registration event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          AgentRegistrationDetails:
            description: Information about the agent registration action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbAgentRegistrationEventModelDetails'
    CrsbAgentRegistrationEventModelDetails:
      type: object
      description: Provides details about the actual agent registration action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the agent registration event.
          nullable: true
        Date:
          type: string
          description: Agent registration event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the backup device.
          nullable: true
        Status:
          type: string
          description: Status of the agent registration operation.
          nullable: true
    CrsbSettingsChangedEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the agent settings changed event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          AgentSettingsChangedDetails:
            description: Information about the agent settings changed action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbSettingsChangedEventModelDetails'
    CrsbSettingsChangedEventModelDetails:
      type: object
      description: Provides details about the actual agent settings changed action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the agent settings changed event.
          nullable: true
        UserId:
          type: string
          description: User who initiated the event.
          nullable: true
        Date:
          type: string
          description: Agent setting changed event timestamp in epoch seconds (RealUTCTime derived from agent's RealLocalTime).
          format: date-time
          nullable: true
        BackupDeviceId:
          type: string
          description: Unique identifier for the agent settings changed device.
          nullable: true
        Setting:
          type: string
          description: Setting changed during the agent operation (e.g., Password).
          nullable: true
        Status:
          type: string
          description: Status of the settings changed operation (e.g., Completed).
          nullable: true
    CrsbResourceDeletedEventModel:
      allOf:
      - $ref: '#/components/schemas/NotificationEventModel'
      - type: object
        description: Provides information about the resource deleted event type.
        additionalProperties: false
        properties:
          Timestamp:
            type: string
            description: The time when the event occurred.
            format: date-time
            nullable: true
          GSMKey:
            type: string
            description: The keycode of the GSM console.
            nullable: true
          GSMConsoleName:
            type: string
            description: The name of the GSM console.
            nullable: true
          SiteKey:
            type: string
            description: The keycode of the site.
            nullable: true
          SiteId:
            type: string
            description: The site identifier.
            nullable: true
          SiteName:
            type: string
            description: The name of the site.
            nullable: true
          MachineId:
            type: string
            description: The endpoint's concatenated machine identifier.
            nullable: true
          HostName:
            type: string
            description: The hostname of the endpoint.
            nullable: true
          PublicIP:
            type: string
            description: The IP address of the endpoint.
            nullable: true
          ResourceDeletedDetails:
            description: Information about the resource delete action.
            nullable: true
            oneOf:
            - $ref: '#/components/schemas/CrsbResourceDeletedEventModelDetails'
    CrsbResourceDeletedEventModelDetails:
      type: object
      description: Provides details about the actual resource delete action.
      additionalProperties: false
      properties:
        EventId:
          type: string
          description: Unique identifier for the resource deleted event.
          nullable: true
        UserId:
          type: string
          description: >-
            Identifier of the user who initiated the resource delete action.


            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'
