openapi: 3.0.0
info:
  title: Aether Endpoint Security API
  description: REST API to Manage Endpoint Security
  version: 1.6.2
  contact:
    name: API Support
    url: https://www.watchguard.com/wgrd-support/contact-support
  termsOfService: 
    https://www.watchguard.com/help/docs/api/Content/en-US/license_agreement.html?cshid=18007
paths:
  /health:
    get:
      description: HealthCheck URL
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/health_result'

  /api/v1/accounts/{accountId}/devicesprotectionstatus:
    get:
      summary: Retrieves device protection status.
      description: Retrieves a list of devices with their protection status and other
        device information. The response to this request is limited to 3,000 records.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: search
          in: query
          description: Returns only objects that include the specified text string.
          example: name
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: orderby
          in: query
          description: Specifies how to order results. You can order by any parameter
            in the response and sort results in ascending or descending order.
          example: hostname+desc
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/protection_status_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/devices:
    get:
      summary: Retrieves a list of devices.
      description: Retrieves a list of devices, and additional information, such as
        the device IP address and operating system. The response to this request is
        limited to 3,000 records.
      operationId: Devices_Get
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: search
          in: query
          description: Returns only objects that include the specified text string.
          example: name
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: orderby
          in: query
          description: Specifies how to order results. You can order by any parameter
            in the response and sort results in ascending or descending order.
          example: hostname+desc
          required: false
          schema:
            type: string
        - name: config
          in: query
          description: Indicates whether the security configuration name and ID are
            returned. The default value is true.
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/devices_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/installers:
    get:
      summary: Retrieves an installation package URL.
      description: Retrieves the URL to download an installation package that installs
        Panda software with the specified managed configuration settings on a device.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: platformId
          description: |
            Identifier of the platform you want to retrieve the installation package URL for.
            - 1: Windows
            - 2: Linux
            - 3: macOS
            - 4: Android
            - 5: iOS                
          example: 1
          in: query
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
              - 3
              - 4
              - 5
        - name: managedConfigurationId
          in: query
          description: Identifier of the managed configuration you want to retrieve
            the installation package URL for.
          required: true
          schema:
            type: string
            format: uuid
            example: f6c469cf-d2b3-4e53-b2f3-08bb917e4d43
        - name: useActiveDirectory
          in: query
          description: Indicates whether to integrate the device into Active Directory.
          example: true
          required: true
          schema:
            type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/installers_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/devices/isolation:
    post:
      summary: Isolates devices.
      description: Isolates the specified devices.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/isolation_devices_input'

        description: Parameters for configuration and customization of this operation.
        required: true
      responses:
        '200':
          description: OK. Returns the IDs of devices isolated in this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/isolation_devices_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/devices/noisolation:
    post:
      summary: Stops device isolation.
      description: Stops isolation on the specified devices.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/no_isolation_devices_input'

        description: Configuration for this operation with the list of affected devices.
        required: true
      responses:
        '200':
          description: OK. Returns the IDs of devices processed in this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/isolation_devices_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/devices/action:
    post:
      summary: Sends an action to devices.
      description: Initiates an action on the specified devices. For example, send
        an action to reboot a device.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/devices_action_input'
        description: Parameters for configuration and customization of this operation.
        required: true
      responses:
        '200':
          description: OK. Returns the IDs of devices processed in this operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/devices_action_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/licenses:
    get:
      summary: Retrieves account license information.
      description: Retrieves license information for Panda products associated with
        your WatchGuard Cloud account.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/license_counters'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/managedconfigurations/{type}/{configId}:
    patch:
      summary: Links devices to a managed configuration.
      description: Links devices to a specified configuration.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          required: true
          schema:
            type: string
        - name: type
          in: path
          description: Type of configuration to return. Currently, only 2-Workstations
            and servers or 3-Android are supported types for this operation.
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 2
              - 3
        - name: configId
          in: path
          description: Identifier of the configuration to associate with the devices.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/managed_configuration_add_link_to_devices'

        description: List of IDs of devices to link to the specified managed configuration.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/link_devices_managedconfiguration_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/managedconfigurations/{type}:
    get:
      summary: Retrieves a list of managed configurations.
      description: Retrieves a list of the specified type of managed configurations
        associated with your WatchGuard Cloud account.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          in: path
          description: |
            Type of configuration to return.
            - 1: Deployment settings
            - 2: Workstations and servers
            - 3: Android
            - 12: iOS
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
              - 3
              - 12
            example: 2
        - name: top
          in: query
          description: Specifies the number of objects to retrieve.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: accounts/{accountId}/managedconfigurations?$skip=5
          required: false
          schema:
            type: integer
            format: int32
        - name: search
          in: query
          description: Returns only objects that include the specified text string.
          example: accounts/{accountId}/managedconfigurations?$search=name
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: orderby
          in: query
          description: Specifies how to order results. You can order by any parameter
            in the response and sort results in ascending or descending order.
          example: accounts/{accountId}/managedconfigurations/2?$orderby=name+asc
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/managed_configuration_summary_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'


  /api/v1/accounts/{accountId}/immediatescan:
    post:
      summary: Scans devices immediately.
      description: Starts a task to scan the specified devices immediately.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/scan_task_input'
        description: Specifies the information to use to scan devices.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scan_task_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/securityeventcounters/{type}:
    get:
      summary: Retrieves counts of security events.
      description: Retrieves counts of detected security events for the specified
        types.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          in: path
          description: |
            Type of security event counters to retrieve. This parameter is a mask. Add the values of the security event counter types you want to retrieve.
            - 1: Malware
            - 2: PUPs
            - 4: Exploits
            - 8: Programs blocked
            - 16: Threats detected by AV
            - 32: Network attack
            - 255: All counters
          example: 10.  8 (programs blocked) + 2 (PUPs) = 10.
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
              - 4
              - 8
              - 16
              - 32
              - 255
        - name: filter
          in: query
          required: false
          description: Filters the security event counters by date.
          schema:
            type: string
            example: 33001%20AmongTheLast%20[7,3]
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/security_event_counters_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/devices/uninstall:
    post:
      summary: Uninstalls protection from devices.
      description: Uninstalls protection from the specified devices.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/uninstall_devices_input'

        description: List of IDs of devices to uninstall protection from.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uninstall_action_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/unmanageddevices:
    get:
      summary: Retrieves a list of unmanaged devices.
      description: Retrieves a list of unmanaged devices discovered on the network.
        The response to this request is limited to 3,000 records.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: accounts/{accountId}/unmanageddevices?$skip=5
          required: false
          schema:
            type: integer
            format: int32
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: orderby
          in: query
          description: Specifies how to order results. You can order by any parameter
            in the response and sort results in ascending or descending order.
          example: accounts/{accountId}/unmanageddevices?$orderby=name+desc
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/unmanaged_devices_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/securityoverview/{period}:
    get:
      summary: Retrieves security overview information.
      description: Retrieves counters for security overview.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: period
          in: path
          description: |
            Period of time you want to retrieve.
            - 1: Last 24 hours
            - 7: Last 7 days
            - 30: Last 30 days
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 7
              - 30
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/security_overview_counters_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

  /api/v1/accounts/{accountId}/securityevents/{type}/export/{period}:
    get:
      summary: Retrieves a list of security events for specific devices.
      description: Retrieves a list of security events of the specified type for the
        specified device. The response to this request is limited to 3,000 records.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          in: path
          description: |
            Type of security event.
            - 1: Malware
            - 2: PUPs
            - 3: Blocked Programs
            - 4: Exploits
            - 5: Blocked by Advanced Security Policies
            - 6: Virus
            - 7: Spyware
            - 8: Hacking Tools and PUPs detected by Antivirus
            - 9: Phishing
            - 10: Suspicious
            - 11: Dangerous Actions
            - 12: Tracking Cookies
            - 13: Malware URLs
            - 14: Other security event by Antivirus
            - 15: Intrusion Attemps
            - 16: Blocked Connections
            - 17: Blocked Devices
            - 18: Indicators of Attack
            - 19: Network Attack Protection
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
              - 3
              - 4
              - 5
              - 6
              - 7
              - 8
              - 9
              - 10
              - 11
              - 12
              - 13
              - 14
              - 15
              - 16
              - 17
              - 18
              - 19
        - name: period
          in: path
          description: |
            Period of time you want to retrieve security events for.
            - 1: Last 24 hours
            - 7: Last 7 days
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 7
        - name: hostname
          in: query
          description: Host name (base-64 encoded) of the device you want to retrieve
            security events for.
          required: false
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/security_events_export_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/detectedrisks:
    get:
      summary: Retrieves detected risks.
      description: Retrieves a count of detected devices for each type of risk.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: filter
          in: query
          required: false
          description: Specifies the device or type of device to retrieve risk information
            from. You can combine two or more values with the boolean operators %20And%20
            and %20Or%20.
          schema:
            type: string
            example: |
              returns a count of the Linux laptops where each type of risk was detected: 4005%20Eq%202%20And%204004%20Eq%202
              Other examples:
              4005%20Eq%20{DeviceTypeEnum} where {DeviceTypeEnum} => 1=Workstation, 2=Laptop, 3=Server, 4=Mobile
              4004%20Eq%20{PlatformEnum} where {PlatformEnum} => 1=Windows, 2=Linux, 3=Mac, 4=Android, 5=Ios 
              101%20Eq%20%27550E110F-ACA2-42CF-B626-27E0FAD52494%27
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/risk_assessment_detected_risks_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/devicesrisk:
    get:
      summary: Retrieve risks detected for devices.
      description: Retrieves a count of risks detected on each device by risk level.
        The response to this request is limited to 3,000 records.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: search
          in: query
          description: Returns only objects that include the specified text string.
            The supported search field is the device host name
          example: hostName
          required: false
          schema:
            type: string
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: filter
          in: query
          required: false
          description: |
            Specifies a filter to retrieve devices. You can combine two or more values with the boolean operators %20And%20 and %20Or%20.
            - 4005%20Eq%20{DeviceTypeEnum} where {DeviceTypeEnum} => 1=Workstation, 2=Laptop, 3=Server, 4=Mobile
            - 4004%20Eq%20{PlatformEnum} where {PlatformEnum} => 1=Windows, 2=Linux, 3=Mac, 4=Android, 5=Ios 
            - 72001%20Eq%20{RiskLevel} where {RiskLevel} => 5=No risk, 20=Medium, 30=High, 40=Critical      
            - 72002%20Eq%20{DetectedRiskFactor} where {DetectedRiskFactor} => 10=No protection, 20=Out-of-date protection, 30=Out-of-date knowledge (more than 30 days), 40=No connectivity to knowledge servers, 50=No uninstallation protection, 60=Anti-tamper protection disabled, 70=File antivirus disabled, 80=Advanced protection for Windows disabled or in ‘Audit’ mode, 90=Advanced protection for Windows in ‘Hardening’ mode, 100=Advanced protection for Linux disabled or in 'Do not detect’ or ‘Audit’ mode, 110=Anti-exploit protection disabled or in 'Audit' mode, 120=Anti-phishing protection disabled, 130=Web browsing antivirus disabled, 140=Folder, file, and extension exclusions, 150=Recent indicators of attack, 160=Critical patches pending installation, 170=Audit mode enabled, 180=Network attack protection disabled or in 'Audit' mode
            - 9001%20AmongTheLast%20[24,4] -> Last 24h
            - 9001%20AmongTheLast%20[3,3] -> Last 3 days
            - 9001%20AmongTheLast%20[7,3] -> Last 7 days
            - 9001%20AmongTheLast%20[30,3] -> Last 30 days
            - 9001%20NotAmongTheLast%20[3,3] -> More than 72h ago
            - 9001%20NotAmongTheLast%20[7,3] -> More than 7 days
            - 9001%20NotAmongTheLast%20[30,3] -> More than 30 days
          schema:
            type: string
            example: |
              Retrieves Linux laptops devices: 4005%20Eq%202%20And%204004%20Eq%202
              Retrieves devices for the last 7 days: 9001%20AmongTheLast%20[7,3]
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/risk_assessment_devices_risk_result_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/statisticsbydate/{period}:
    get:
      summary: Retrieve a risk detection overview.
      description: Retrieves an overview of the number and types of risks detected
        over time.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: period
          in: path
          description: |
            Period of time to retrieve risk detection counters for.
            - 7: Last 7 days
            - 30: Last 30 days
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 7
              - 30
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/risk_statistics_by_date_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/companyrisksummary:
    get:
      summary: Retrieves company risk information.
      description: Retrieves a summary of the company risk status.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/company_risk_summary_counters_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/configuration:
    get:
      summary: Retrieve risk configuration.
      description: Retrieves the risk configuration.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/risk_assessment_configuration_result'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/riskassessment/updateconfiguration:
    patch:
      summary: Update risk configuration.
      description: Modifies the risk configuration.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/risk_assessment_configuration_update_input'
        description: List of types of risks to configure.
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/risk_assessment_configuration_update_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/patchavailability:
    get:
      summary: Retrieve missing patches.
      description: Retrieves published patches not installed on the devices on the
        network.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: filter
          in: query
          required: false
          description: |
            Specifies a filter to retrieve patches. You can combine two or more values with the boolean operators %20And%20 and %20Or%20.
            - 26018%20Eq%20{patchTypeEnum} where {patchTypeEnum} => 0=Non-operating system patch,1=Operating system patch
            - 4001%20Eq%20%22{HostName}%22 where {HostName} =>  Name of the host
            - 26004%20Contains%20%22{ProgramName}%22 where {ProgramName} => Name of the program
            - 26006%20Contains%20%22{PatchName}%22 where {PatchName} => Name of the patch
            - 26003%20Eq%20{CriticalityEnum} where {CriticalityEnum} => 101=Other patches (non-security-related), 201=Critical, 202=Important, 203=Moderate, 204=Low, 205=Unspecified, 301=Service Pack
            - 26008%20Eq%20{CVE} where {CVE} => Common Vulnerabilities and Exposures code assigned to the patch
          schema:
            type: string
            example: |
              Retrieves missing patches of the Operating System type: 26018%20Eq%201
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/patch_availability_output_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/softwareinventory:
    get:
      summary: Retrieve installed software.
      description: Retrieves the software installed on the computers on the network.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: filter
          in: query
          required: false
          description: |
            Specifies a filter to retrieve the software inventory
            - 4001%20Eq%20%22{HostName}%22 where {HostName} => Name of the device in URL encoded format
          schema:
            type: string
            example: |
              Retrieves the software installed on a device named 'HostName': 4001%20Eq%20%22HostNameExample%22
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/software_inventory_output_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/devices/{deviceId}/hardwareinventory:
    get:
      summary: Retrieve BIOS information.
      description: Retrieves the characteristics of a device BIOS.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: deviceId
          in: path
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b3
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/hardware_inventory_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/tasks:
    get:
      summary: Retrieve tasks.
      description: Retrieves a list of all tasks created.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: filter
          in: query
          required: false
          description: |
            Specifies a filter to retrieve the task list
            - 41003%20Eq%20{taskTypeEnum} where {taskTypeEnum} => 1=Antimalware scan, 2=Malware disinfection, 6=Patch installation, 7=Patch uninstallation,10=IOC search
            - 41004%20Eq%20{scheduleTypeEnum} where {scheduleTypeEnum} => 1=Immediate,2=One-time,3=Scheduled
            - 41006%20Eq%20{stateTypeEnum} where {stateTypeEnum} =>  0=No recipients, 1=Unpublished, 2=In progress, 3=Canceled, 4=Finished
          schema:
            type: string
            example: |
              Retrieves all immediate tasks: 41004%20Eq%201            
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tasks_output_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/tasks/{type}/{taskId}/jobs:
    get:
      summary: Retrieve task repetitions.
      description: Retrieves task repetitions for a specific task.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          description: |
            Type of task.
            - 1: Antimalware scan task
            - 2: Malware disinfection task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC search task
          example: 1
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - name: taskId
          in: path
          description: Task unique identifier.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b3
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/tasks_jobs_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/tasks/{type}/{taskId}/jobs/{jobId}/status:
    get:
      summary: Retrieve task status.
      description: Retrieves the status of task repetitions for a specific task.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          description: |
            Type of task (depending on product, one or the other types may be available).
            - 1: Antimalware scan task
            - 2: Malware disinfection task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC search task
          example: 1
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - name: taskId
          in: path
          description: Unique identifier of the task.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b3
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: Identifier of the task specific repetition.
          example: 20230615000000
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: count
          in: query
          description: Indicates whether to return a counter that shows the total
            number of objects in the total_items response parameter.
          required: false
          schema:
            type: boolean
        - name: filter
          in: query
          required: false
          description: |
            Specifies a filter to retrieve the status of task repetitions for a specific task. You can combine two or more values with the boolean operators %20And%20 and %20Or%20
            - 40002%20Eq%20{statusEnum} where {statusEnum} => 0=Pending, 1=In progress, 2=Succeeded, 3=Failed, 4=Expired, 5=Canceled, 6=Canceling, 7=Timeout
            - 40001%20Gt%200 for 'Repetition with detections'
            - 40001%20Eq%200 for 'Repetition with no detections'
          schema:
            type: string
            example: |
              Retrieves repetitions in Pending status: 40002%20Eq%200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tasks_jobs_status_output_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/tasks/{type}/{taskId}/jobs/{jobId}/results:
    get:
      summary: Retrieve a task results.
      description: Retrieves the results of a task specific repetition.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          description: |
            Type of task.
            - 1: Antimalware scan task
            - 2: Malware disinfection task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC search task
          example: 1
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - name: taskId
          in: path
          description: Unique identifier of the task.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b3
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: Identifier of the task specific repetition.
          example: 20230615000000
          required: true
          schema:
            type: string
        - name: top
          in: query
          description: Specifies the number of objects to retrieve (there is a maximum
            supported by the server).
          example: 5
          required: false
          schema:
            type: integer
            format: int32
        - name: skip
          in: query
          description: Bypasses the specified number of objects in the results returned.
          example: 5
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/tasks_jobs_results_output_find_response'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'
  /api/v1/accounts/{accountId}/taskdetails/{type}/{taskId}:
    get:
      summary: Retrieve task details.
      description: Retrieves the details of a specific task.
      parameters:
        - name: accountId
          in: path
          description: Your WatchGuard Cloud account ID.
          example: WGC-1-123abc456 or ACC-1234567
          required: true
          schema:
            type: string
        - name: type
          description: |
            Type of task (depending on product, one or the other types may be available).
            - 1: Antimalware scan task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC definition scan task
          example: 1
          in: path
          required: true
          schema:
            type: integer
            format: int32
        - name: taskId
          in: path
          description: Task unique identifier.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b3
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/taskdetails_output'
        '400':
          $ref: '#/components/responses/bad_request'
        '403':
          $ref: '#/components/responses/access_denied'
        '404':
          $ref: '#/components/responses/not_found'
        '405':
          $ref: '#/components/responses/method_denied'
        '500':
          $ref: '#/components/responses/internal_error'

components:
  parameters:
    accountid:
      in: path
      name: accountid
      required: true
      schema:
        type: string
      description: Your WatchGuard Cloud account ID.
      examples:
        ACC-1234567:
          value: ACC-1234567

  responses:
    bad_request:
      description: BAD REQUEST.
      content:
        application/json:
          schema:
            allOf:
              - example:
                  type: invalid_request_error
                  message: The request could not be validated.

    access_denied:
      description: ACCESS DENIED.
      content:
        application/json:
          schema:
            allOf:
              - example:
                  type: access_denied_error
                  message: The user is not permitted to access the API endpoint.
    not_found:
      description: NOT FOUND.
      content:
        application/json:
          schema:
            allOf:
              - example:
                  type: not_found_error
                  message: The target resource is not found.
    method_denied:
      description: METHOD NOT ALLOWED.
      content:
        application/json:
          schema:
            allOf:
              - example:
                  type: method_denied_error
                  message: The target endpoint does not support the request method.

    internal_error:
      description: INTERNAL ERROR.
      content:
        application/json:
          schema:
            allOf:
              - example:
                  type: server_error
                  message: The request could not be processed due to an internal server
                    error.

  schemas:
    health_result:
      type: object
      properties:
        healthy:
          type: boolean
          description: Indicates whether the service is OK.
          default: false
          example: true
          nullable: true

    protection_status_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/protection_status_result'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    protection_status_result:
      type: object
      properties:
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_6
        device_id:
          type: string
          format: uuid
          description: Identification number of the device.
          example: 123456d8-910f-4f5a-a7ad-e2480d5ad1b2
        platform_id:
          type: integer
          format: int32
          description: |
            Device platform.
            - 1: Windows
            - 2: Linux
            - 3: macOS
            - 4: Android
            - 5: iOS
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        device_type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile device
          example: 1
          enum:
            - 1
            - 2
            - 3
            - 4
        accumulated_protection_status:
          type: integer
          format: int32
          description: |
            General protection status.
            - 0: Without protection or without information
            - 1: Activated
            - 2: Deactivated
            - 3: Error
            - 4: Error installing
            - 5: Without license
            - 6: Not available
          example: 2
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        adaptive_defense_status:
          type: integer
          format: int32
          description: |
            Adaptive Defense status.
            - 0: Without protection or without information
            - 1: Activated
            - 2: Deactivated
            - 3: Error
            - 4: Error installing
            - 5: Without license
            - 6: Not available
          example: 2
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        file_antivirus_status:
          type: integer
          format: int32
          description: |
            Antivirus status.
            - 0: Without protection or without information
            - 1: Activated
            - 2: Deactivated
            - 3: Error
            - 4: Error installing
            - 5: Without license
            - 6: Not available
          example: 2
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        firewall_status:
          type: integer
          format: int32
          description: |
            Firewall status.
            - 0: Without protection/without information
            - 1: Enabled
            - 2: Disabled
            - 3: Error
            - 4: Error installing
            - 5: Without license
            - 6: Not available
          example: 2
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        isolation_state:
          type: integer
          format: int32
          description: |
            Isolation state of the device.
            - 0: Not isolated
            - 1: Isolated
            - 2: Applying isolation
            - 3: Removing isolation
          example: 1
          enum:
            - 0
            - 1
            - 2
            - 3
        protection_engine_update_status:
          type: integer
          format: int32
          description: |
            Adaptive Defense status.
            - 0: Undefined
            - 1: Outdated
            - 2: Updated
            - 3: Waiting for reboot
          example: 2
          enum:
            - 0
            - 1
            - 2
            - 3
        protection_engine_version:
          type: string
          description: Protection engine version.
          example: 1.17.00.0000
        knowledge_catalog_update_status:
          type: integer
          format: int32
          description: |
            Update status of the catalog.
            - 0: Not available
            - 1: Outdated
            - 2: Updated
          example: 2
          enum:
            - 0
            - 1
            - 2
        knowledge_catalog_date:
          format: date-time
          type: string
          description: Date and time when the knowledge catalog installed on the device.
          example: '2020-09-22T11:00:00Z'
        last_connection_date:
          format: date-time
          type: string
          description: Date and time when the device last connected.
          example: '2020-09-22T11:00:00Z'
        reboot_requested:
          type: boolean
          description: Indicates whether a device reboot is requested.
          example: true
          nullable: true
        reinstall_protection_requested:
          type: boolean
          description: Indicates whether reinstallation of protection is requested.
          example: true
          nullable: true
        reinstall_agent_requested:
          type: boolean
          description: Indicates whether reinstallation of the agent is requested.
          example: true
          nullable: true
        license_status:
          type: integer
          format: int32
          description: |
            Status of the license.
            - 0: Assigned
            - 1: Not assigned
            - 2: Manual deallocation
            - 3: Auto deallocation
          example: 0
          enum:
            - 0
            - 1
            - 2
            - 3
        reinstall_agent_error:
          format: string
          description: |
            Additional information in the event of a reinstall agent error, in JSON format: error, code, date and time, and step of the error.
            - 0: AgentInstallNotStarted
            - 1: AgentInstallConnection
            - 2: AgentInstallDetermineOs
            - 3: AgentInstallGetInstaller
            - 4: AgentInstallCopy
            - 5: AgentInstallInstallation
            - 6: AgentInstallIntegration
          example: {error: 58, code: 2020, date_time: '2020-11-20T20:27:18.725Z',
            step: 2}
        reinstall_protection_error:
          format: string
          description: |
            Additional information in the event of a reinstall protection error, in JSON format: error, code, date and time, and step of the error.
            - 8: ProtectionInstallInstallation
            - 9: ProtectionInstallSoftwareUpdate
            - 10: ProtectionInstallThirdPartyUninstall
            - 11: ProtectionInstallThirdPartyUninstaller
          example: {error: 36, code: 4001, date_time: '2020-11-20T20:27:18.725Z',
            step: 8}
    devices_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/devices_result'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    devices_result:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier for the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        account_id:
          type: string
          format: uuid
          description: Identifier for the account.
          example: cd6c6dd6-r97o-453d-ld8o-a5976dc0596c
        site_id:
          type: string
          format: uuid
          description: Identifier for the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        site_name:
          type: string
          description: Name of the site the device belongs to.
          example: AD360
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_6
        type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile device
          example: 3
        description:
          type: string
          description: Description of the device.
          example: Marketing server
        domain:
          type: string
          description: Domain to which your devices belong on Microsoft networks.
          example: WORKGROUP
        platform_id:
          type: integer
          format: int32
          description: |
            Device platform.
            - 1: Windows
            - 2: Linux
            - 3: macOS
            - 4: Android
            - 5: iOS
          example: 1
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        ip_address:
          type: string
          description: IP address of the device.
          example: 192.0.2.1
        mac_addresses:
          type: array
          items:
            type: string
            description: List of MAC addresses of the device.
        operating_system:
          type: string
          description: Name of the operating system installed on the device.
          example: Microsoft Windows 10
        license_status:
          type: integer
          format: int32
          description: |
            Status of the device license.
            - 0: Assigned
            - 1: Not assigned
            - 2: Manual deallocation
            - 3: Auto deallocation
          example: 0
          enum:
            - 0
            - 1
            - 2
            - 3
        isolation_state:
          type: integer
          format: int32
          description: |
            Isolation state of the device.
            - 0: Not isolated
            - 1: Isolated
            - 2: Applying isolation
            - 3: Removing isolation
          example: 1
          enum:
            - 0
            - 1
            - 2
            - 3
        encryption:
          type: integer
          format: int32
          description: |
            Device encryption status.
            - 0: Without protection or without information
            - 1: Activated
            - 2: Deactivated
            - 3: Error
            - 4: Error installing
            - 5: Without license
            - 6: Not available
          example: 6
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        reinstall_protection_requested:
          type: boolean
          description: Indicates whether reinstallation of protection is requested.
          example: false
        reinstall_agent_requested:
          type: boolean
          description: Indicates whether reinstallation of the agent is requested.
          example: true
        reboot_requested:
          type: boolean
          description: Indicates whether a device reboot is requested.
          example: true
        agent_version:
          type: string
          description: Version of the agent installed in the endpoint.
          example: 1.17.00.0000
        last_connection:
          format: date-time
          type: string
          description: Date and time of the last connection of the device.
          example: '2020-09-22T11:00:00Z'
        security_configuration_id:
          type: string
          format: uuid
          description: Identifier of the security configuration.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        security_configuration_name:
          type: string
          description: Name of the security configuration.
        logged_on_users_list:
          type: array
          items:
            type: string
            description: List of last logged-on users.
        custom_group_folder_path:
          type: string
          description: Full path to the group the device is assigned to.
          example: All\ServersFolderName\GroupName1
        active_directory_canonical_name:
          type: string
          description: Full canonical path to the device in Active Directory.
          example: ROOTDOMAIN.local\Computers\Servers\Division\DEVICE_5

    installers_result:
      type: object
      description: URL to download the installation package.
      example: 
        https://example.pandasecurity.com/api/v1/accounts/c8780c34-3f39-4cce-r0lo-6ccc62d0ea06/sites/33d2015c-f6ed-4ef7-bdea-913fa9bb83bf/installers?installerType=2&platform=1&managedConfigurationId=d858a999-3f4d-424d-944c-55717cf1fff4&customGroupId=24cb3446-5617-45ce-b4ce-952db206174e&integrationGroupType=0
      properties:
        installer_download_url:
          type: string

    isolation_devices_input:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of devices to isolate.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44
        exclusion_programs:
          type: array
          description: List of programs to exclude from isolation and allow to communicate
            normally.
          example: Chrome.exe
          items:
            type: string
        customized_message:
          type: string
          description: Text to show in an alert message on the isolated devices.
          example: This computer has been isolated by an administrator.
        hide_customized_alert:
          type: boolean
          description: Indicates whether to hide the customized alert message on isolated
            devices.
          example: true

    isolation_devices_output:
      type: object
      properties:
        processed_device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of the isolated devices.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        no_executed_by_not_found_device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: If the action could not be completely executed, the list
              of device ids not found (not executed) will be returned here.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2

    no_isolation_devices_input:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of isolated devices to remove from isolation.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2

    devices_action_input:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of devices to isolate.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44
        action_type:
          type: integer
          format: int32
          description: |
            Device action type.
            - 1: Reboot
          enum:
            - 1
        count_down_type:
          type: integer
          format: int32
          description: |
            Amount of time to count down to a reboot action.
            - 1: Immediate
            - 2: Fifteen minutes
            - 3: Thirty minutes
            - 4: One hour
            - 5: Two hours
            - 6: Four hours
            - 7: Eight hours
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7

    devices_action_output:
      type: object
      properties:
        processed_device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of the rebooted devices.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        no_executed_by_not_found_device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: If the action could not be completely executed, the list
              of device ids not found (not executed) will be returned here.
            example: 00ab3e54-7bb7-4bd3-bd39-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2

    license_counters:
      type: object
      properties:
        product_license_counter:
          type: array
          items:
            $ref: '#/components/schemas/product_license_counters'

    product_license_counters:
      type: object
      properties:
        product_id:
          type: integer
          format: int32
          description: Product internal ID.
        license_type:
          type: integer
          format: int32
          description: |
            Type of license.
            - 1: Release
            - 2: Trial
            - 3: Beta
            - 4: Not for resale
          enum:
            - 1
            - 2
            - 3
            - 4
        product_name:
          type: string
          description: Name of the licensed product.
        assigned_licenses:
          type: integer
          format: int32
          description: Number of licenses assigned to devices.
        unassigned_licenses:
          type: integer
          format: int32
          description: Number of licenses that are not assigned to devices.
        without_license_devices:
          type: integer
          format: int64
          description: Number of devices that do not have a license assigned.
        expiration_date:
          format: date-time
          type: string
          description: Date when all licenses in the license contract expire and the
            devices are no longer protected.
        license_items:
          type: array
          items:
            $ref: '#/components/schemas/product_maintenance'

    product_maintenance:
      type: object
      properties:
        product_id:
          type: integer
          format: int32
          description: Identification number for the product.
          example: 4
        license_type:
          type: integer
          format: int32
          description: |
            Type of license.
            - 1: Release
            - 2: Trial
            - 3: Beta
            - 4: Not for resale
          enum:
            - 1
            - 2
            - 3
            - 4
          example: 1
        amount:
          type: integer
          format: int32
          description: Maximum number of license installations allowed.
          example: 3
        expiration_date:
          type: string
          format: date-time
          description: Date when the license expires.
          example: '2020-10-23T17:36:04.460Z'

    managed_configuration_add_link_to_devices:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of devices to link to the specified managed configuration.

    managed_configuration_summary_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/managed_configuration_summary'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    managed_configuration_summary:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the managed configuration.
          example: f6c469cf-d2b3-4e53-b2f3-08bb917e4d43
        name:
          type: string
          description: Name of the managed configuration.
          example: WorkstationAndServer Settings
        description:
          type: string
          description: Description of the managed configuration.
          example: Workstation and server configuration pre-patch installation
        is_default:
          type: boolean
          description: Indicates whether this is the default managed configuration.
          example: false

    scan_task_input:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of devices to scan.
            example: 00ab3e54-7bb7-4bd3-r0lo-237a9d191a44, 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        task_name:
          type: string
          description: Name of the scan task.
          example: Routine scan.
        task_description:
          type: string
          description: Description of the scan task.
          example: Windows 8 machines only.
        scan_scope:
          type: integer
          format: int32
          description: |
            Scope of the scan task.
            - 0: Whole computer
            - 1: Critical areas
            - 2: Specified items
          enum:
            - 0
            - 1
            - 2
          example: 0
        specified_items_to_scan:
          type: array
          description: List of specific locations or items to scan. All folders and
            files in the specified locations are scanned. Works only when scan_scope
            is 2.
          example: c:\downloads
          items:
            type: string
        detect_hacking_tools:
          type: boolean
          description: Indicates whether to detect hacking tools.
          example: true
        detect_suspicious_files:
          type: boolean
          description: Indicates whether to detect suspicious files.
          example: false
        scan_compressed_files:
          type: boolean
          description: Indicates whether to scan compressed files. This decompresses
            compressed files and scans their contents.
          example: true
        apply_exclusions_on_scan:
          type: boolean
          description: Indicates whether to exclude items from the scan, such as specific
            files, files with a specific extension, or a specific directory.
          example: true
        extensions_to_exclude:
          type: array
          description: List of file extensions to exclude from the scan. Works only
            when apply_exclusions_on_scan is true.
          example: exe
          items:
            type: string
        files_to_exclude:
          type: array
          description: List of file names (with extensions) to exclude from the scan.
            Works only when apply_exclusions_on_scan is true.
          example: Explorer.exe
          items:
            type: string
        folders_to_exclude:
          type: array
          description: List of folders to exclude from the scan. You must include
            the full path. Works only when apply_exclusions_on_scan is true.
          items:
            type: string
            example: D:/shared_drive/documents
        execution_window_expiration:
          type: string
          description: Time period in which the scan must run before it times out.
            Default is 7 days.
          example: 8.07:06:05 specifies 8 days, 7 hours, 6 minutes, and 5 seconds.

    scan_task_output:
      type: object
      properties:
        task_id:
          type: string
          format: uuid
          description: ID of the completed scan task.
          example: 12a345a6-a789-0123-a4aa-56a7890a12a3
        no_executed_by_not_found_device_ids:
          type: string
          format: uuid
          description: If the action could not be completely executed, the list of
            device ids not found (not executed) will be returned here.
          example: 12a345a6-a789-0123-a4aa-56a7890a12a3

    uninstall_action_output:
      type: object
      properties:
        no_executed_by_not_found_device_ids:
          type: string
          format: uuid
          description: If the action could not be completely executed, the list of
            device ids not found (not executed) will be returned here.
          example: 12a345a6-a789-0123-a4aa-56a7890a12a3

    link_devices_managedconfiguration_output:
      type: object
      properties:
        no_executed_by_not_found_device_ids:
          type: string
          format: uuid
          description: If the action could not be completely executed, the list of
            device ids not found (not executed) will be returned here.
          example: 12a345a6-a789-0123-a4aa-56a7890a12a3

    security_event_counters_result:
      type: object
      properties:
        malware_counters:
          $ref: '#/components/schemas/security_event_aggregated_counters'
        pups_counters:
          $ref: '#/components/schemas/security_event_aggregated_counters'
        exploit_counters:
          $ref: '#/components/schemas/security_event_aggregated_counters'
        program_blocked_counters:
          $ref: '#/components/schemas/program_blocked_counters'
        threats_by_av_counters:
          $ref: '#/components/schemas/threats_by_av_counters'
        network_attack_counters:
          $ref: '#/components/schemas/network_attack_aggregated_counters'

    security_event_aggregated_counters:
      type: object
      properties:
        total_alerts:
          type: integer
          format: int32
          description: Number of alerts.
          nullable: true
        total_executed:
          type: integer
          format: int32
          description: Number of executed malware instances.
          nullable: true
        total_data_access:
          type: integer
          format: int32
          description: Number of times malware accessed data.
          nullable: true
        total_external_communications:
          type: integer
          format: int32
          description: Number of external communications by malware.
          nullable: true
        total_affected_devices:
          type: integer
          format: int32
          description: Number of affected devices.
          nullable: true

    program_blocked_counters:
      type: object
      properties:
        total_programs_blocked:
          type: integer
          format: int32
          description: Number of blocked programs.
          nullable: true

    threats_by_av_counters:
      type: object
      properties:
        total_phishing_detected_by_av:
          type: integer
          format: int64
          description: Number of phishing attempts detected by antivirus.
          nullable: true
        total_tracking_cookies_detected_by_av:
          type: integer
          format: int64
          description: Number of tracking cookies detected by antivirus.
          nullable: true
        total_devices_blocked_by_av:
          type: integer
          format: int64
          description: Number of devices blocked by antivirus.
          nullable: true
        total_malware_urls_blocked_by_av:
          type: integer
          format: int64
          description: Number of malware URLs blocked by antivirus.
          nullable: true
        total_intrusion_attempted_blocked_by_av:
          type: integer
          format: int64
          description: Number of intrusion attempts blocked by antivirus.
          nullable: true
        total_dangerous_actions_blocked_by_av:
          type: integer
          format: int64
          description: Number of dangerous actions blocked by antivirus.
          nullable: true

    uninstall_devices_input:
      type: object
      properties:
        device_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IDs of devices to uninstall protection from.

    unmanaged_devices_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/unmanaged_devices_result'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    unmanaged_devices_result:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        account_id:
          type: string
          format: uuid
          description: Identifier of the account.
          example: cd6c6dd6-b97f-453d-ad81-a5976dc0596c
        site_id:
          type: string
          format: uuid
          description: Identifier of the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        host_name:
          type: string
          description: Name of the host.
          example: WIN_SERVER_6
        ip_address:
          type: string
          description: IP address of the device.
          example: 192.0.2.1
        mac_address:
          type: string
          description: MAC address of the device.
          example: 00:0a:95:9d:68:16
        probe_name:
          type: string
          description: Name of the device that discovered the unmanaged device.
          example: Probe computer 7
        last_seen_datetime:
          format: date-time
          type: string
          description: Date and time the unmanaged device was found.
          example: '2020-11-20T20:27:18.725Z'
        network_interface_controller_vendor:
          type: string
          description: Manufacturer of the network card in the device.
          example: Intel
        description:
          type: string
          description: Description of the device.
          example: Finance mac01
        status:
          type: integer
          format: int32
          description: |
            Status of the device.
            - 0: Undefined
            - 1: Discovered
            - 2: Installing
            - 3: Error
          enum:
            - 0
            - 1
            - 2
            - 3
          example: '1'
        installation_error:
          type: integer
          format: int32
          description: Unmanaged device installation errors.
          example: 200000 — Unable to connect to the computer. Make sure the computer
            is turned on and meets the remote installation requirements.

    security_overview_counters_result:
      type: object
      properties:
        total_devices:
          type: integer
          format: int32
          description: Total number of devices.
        total_unmanaged_devices:
          type: integer
          format: int32
          description: Total number of unmanaged devices.
        malware:
          $ref: '#/components/schemas/security_overview_aggregated_counters'
        pups:
          $ref: '#/components/schemas/security_overview_aggregated_counters'
        exploits:
          $ref: '#/components/schemas/security_overview_aggregated_counters'
        programs_blocked:
          $ref: '#/components/schemas/program_blocked_overview_counters'
        threats_by_av_counters:
          $ref: '#/components/schemas/threats_by_av_overview_counters'
        indicators_of_attack_counters:
          $ref: '#/components/schemas/indicators_of_attack_counters'
        network_attack_counters:
          $ref: '#/components/schemas/network_attack_aggregated_counters'

    security_overview_aggregated_counters:
      type: object
      properties:
        total_alerts:
          type: integer
          format: int32
          description: Total number of alerts.
          nullable: true
        total_executed:
          type: integer
          format: int32
          description: Number of executed instances.
          nullable: true
        total_data_access:
          type: integer
          format: int32
          description: Number of times data was accessed.
          nullable: true
        total_external_communications:
          type: integer
          format: int32
          description: Number of external communications.
          nullable: true
        total_affected_devices:
          type: integer
          format: int32
          description: Number of affected devices.
          nullable: true

    program_blocked_overview_counters:
      type: object
      properties:
        total_programs_blocked:
          type: integer
          format: int32
          description: Number of blocked programs.
          nullable: true

    threats_by_av_overview_counters:
      type: object
      properties:
        total_phishing_detected_by_av:
          type: integer
          format: int64
          description: Number of phishing attempts detected by antivirus.
          nullable: true
        total_tracking_cookies_detected_by_av:
          type: integer
          format: int64
          description: Number of tracking cookies detected by antivirus.
          nullable: true
        total_devices_blocked_by_av:
          type: integer
          format: int64
          description: Number of devices blocked by antivirus.
          nullable: true
        total_malware_urls_blocked_by_av:
          type: integer
          format: int64
          description: Number of malware URLs blocked by antivirus.
          nullable: true
        total_intrusion_attempted_blocked_by_av:
          type: integer
          format: int64
          description: Number of intrusion attempts blocked by antivirus.
          nullable: true
        total_dangerous_actions_blocked_by_av:
          type: integer
          format: int64
          description: Number of dangerous actions blocked by antivirus.
          nullable: true
        total_hacking_tools_by_av:
          type: integer
          format: int64
          description: Number of hacking tools detected by antivirus.
          nullable: true
        total_spyware_by_av:
          type: integer
          format: int64
          description: Number of spyware detected by antivirus.
          nullable: true
        total_virus_by_av:
          type: integer
          format: int64
          description: Number of virus detected by antivirus.
          nullable: true

    indicators_of_attack_counters:
      type: object
      properties:
        total_indicators_of_attack:
          type: integer
          format: int64
          description: Number of indicators of attack.
          nullable: true

    security_events_export_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/security_events_export_result'
        total_items:
          type: integer
          format: int32
          description: Count is not supported. Currently, null is always displayed
            in this field.
          nullable: true

    security_events_export_result:
      type: object
      properties:
        accessed_data:
          type: boolean
          description: Indicates if data has been accessed.
          example: true
          nullable: true
        action:
          type: integer
          format: int32
          description: |
            Indicates the action performed. For Indicators Of Attack:
            - 0: Undefined
            - 1: Informed
            - 2: Attack Blocked
            For other detections:
            - 0: Allowed
            - 1: Moved Quarantine
            - 2: Blocked
            - 3: Killed
            - 4: Ignored
            - 5: Cleaned
            - 6: Deleted
            - 7: Restored
            - 8: Allowed By Whitelist
            - 9: Write Blocked
            - 10: User Pending
            - 11: Uninstalled
            - 13: After Process Blocked
            - 14: Immediately Blocked
            - 15: Allowed By User
            - 16: Detected Restart Pending
            - 17: Allowed By Administrator
            - 18: AllowedSonGwInstaller
            - 21: Suspend Process
            - 1009: Informed
            - 1010: Unquarantine
            - 1011: Rename
            - 1012: Block URL
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 21
            - 1009
            - 1010
            - 1011
            - 1012
        date:
          type: string
          format: date-time
          description: Date and time of detection.
          example: '2020-11-20T20:27:18.725Z'
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        site_id:
          type: string
          format: uuid
          description: Identifier of the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        event_id:
          type: integer
          format: int32
          description: Identifier of the event.
        event_type:
          type: integer
          format: int32
          description: |
            Indicates the event type.
            - 0: Malware
            - 1: Exploit
            - 2: Pups
            - 3: Blocked item
            - 6: Lock Plus Advanced Security
            - 7: Lock Plus Application Control
            - 8: Application Control
            - 10: Network Attack Activity
          enum:
            - 0
            - 1
            - 2
            - 3
            - 6
            - 7
            - 8
            - 10
        dwell_time:
          type: integer
          format: double
          description: Dwell time in seconds.
        is_excluded:
          type: boolean
          description: Indicates if data has been excluded.
          example: true
          nullable: true
        hash:
          type: string
          description: Hash of element.
          example: 009a9b4ff00946f9a5a5659dfe9086da
        host_name:
          type: string
          description: Name of the host.
          example: WIN_SERVER_6
        item_name:
          type: string
          description: Name of the threat.
          example: MalwareName
        made_external_connections:
          type: boolean
          description: Indicates if malware made external connections.
          example: true
          nullable: true
        path:
          type: string
          description: Name of threat path.
        protection_mode:
          type: integer
          format: int32
          description: |
            Indicates the protection mode.
            - 0: Undefined
            - 1: Audit
            - 2: Hardening
            - 3: Lock
          enum:
            - 0
            - 1
            - 2
            - 3
        reclassified_to_type:
          format: int32
          description: |
            Indicates the type to which it has been reclassified.
            - 0: Blocked
            - 1: Malware
            - 3: Pup
            - 6: Goodware
            - 11: Removed From List
          enum:
            - 0
            - 1
            - 3
            - 6
            - 11
        like_lihood_of_being_malicious:
          format: int32
          description: |
            Indicates the likelihood of being malicious.
            - 0: Low
            - 1: Medium
            - 2: High
            - 3: Very High
          enum:
            - 0
            - 1
            - 2
            - 3
        discard_motive:
          format: int32
          description: |
            Reason for discarding the knowledge sample.
            - 0: Unknown
            - 1: Other Reason
            - 2: File Max Size
          enum:
            - 0
            - 1
            - 2
        lock_plus_rule_id:
          format: int32
          description: |
            LockPlus Rule ID.
            - 1: Obfuscated Params Powershell
            - 2: User Executed Powershell
            - 4: Unknown Scripts
            - 5: Locally Built Programs
            - 6: Documents With Macros
            - 7: Windows Boot Registry
            - 101: Forbidden Md5
            - 102: Forbidden Program Name
          enum:
            - 1
            - 2
            - 4
            - 5
            - 6
            - 7
            - 101
            - 102
        user_name:
          type: string
          description: Username.
        was_run:
          type: boolean
          description: Indicates if the item has been executed.
          example: true
          nullable: true
        source_ip:
          type: string
          description: Name of source IP.
        source_machine_name:
          type: string
          description: Name of source device name.
        source_user:
          type: string
          description: Source username.
        detection_technology:
          type: string
          description: Name of detection technology in exploit detections.
        exploit_technique:
          type: string
          description: Exploit technique.
        risk:
          type: boolean
          description: Indicates if it is a risk exploit.
          example: true
          nullable: true
        description:
          type: string
          description: Name of device description in antivirus detections.
        domain:
          type: string
          description: Domain of device in antivirus detections.
        detected_by:
          format: int32
          description: |
            Protection or technology in antivirus detections.
            - 1: On Demand Scan
            - 2: File Resident
            - 3: Mail Resident
            - 4: Firewall
            - 5: Device Control
            - 6: Exchange Mailbox
            - 7: Exchange Transport
            - 8: Exchange Antispam
            - 9: Web Protection
            - 10: Exchange Content
            - 11: Minerva
            - 12: Web Access Control
            - 13: Anti-theft
            - 14: Anti-tampering
            - 15: Personal Information Tracking
            - 16: Isolation
            - 17: Data Search Control
            - 18: Patch Management
            - 19: Personal Information Inventory
            - 20: Application Control
            - 21: Encryption USB
            - 22: Authorized Software
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
            - 16
            - 17
            - 18
            - 19
            - 20
            - 21
            - 22
        device_type:
          format: int32
          description: |
            Device type in antivirus and firewall detections.
            - 0: Undefined
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
        platform_id:
          format: int32
          description: |
            Platform of affected device.
            - 0: Undefined
            - 1: Windows
            - 2: Linux
            - 3: Mac
            - 4: Android
            - 5: iOS
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
        excluded:
          type: boolean
          description: Indicates if the element has been excluded in antivirus detection.
          example: true
          nullable: true
        file_info_discard:
          type: string
          description: Hash to identify the file in antivirus detections.
        id:
          format: uuid
          type: string
          description: Identifier in antivirus detections.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        ip_address:
          type: string
          description: IP address of the device in antivirus and firewall detections.
          example: 192.168.1.10
        malware_name:
          type: string
          description: Malware name in antivirus detections.
        malware_category:
          format: int32
          description: |
            Malware category in antivirus detections.
            - 1: Virus
            - 2: Spyware
            - 3: HackingPpnd
            - 4: Phishing
            - 5: Suspicious
            - 6: Blocked Operations
            - 7: Tracking Cookies
            - 8: Malware URL
            - 9: Others
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
        malware_type:
          format: int32
          description: |
            Malware type in antivirus detections.
            - 21: Nereus Heuritic
            - 22: Beta trace Heuritic
            - 23: Smart Clean Heuritic
            - 24: Cloud Heuritic
            - 25: 1N
            - 26: Behavioral
            - 31: Confirmed Goodware
            - 32: Not Confirmed Goodware
            - 33: Unwanted Goodware
            - 34: Ranked
            - 35: Digital Signature
            - 101: Virus
            - 102: Worm
            - 103: Trojan
            - 104: TrojanPwdeal
            - 105: Dialer
            - 106: Joke
            - 107: Security Risk
            - 108: Spyware
            - 109: Adware
            - 110: WormFakefrom
            - 111: Tracking Cookie
            - 112: Pup
            - 113: Hacking Tool
            - 114: Vulnerability
            - 115: Max Size
            - 116: ZipOfDeath
            - 117: PackerOfDeath
            - 118: Hoax
            - 119: Phis Fraud
            - 120: Rootkit
            - 121: Backdoor
            - 122: Virus Constructor
            - 123: Malicious URL
            - 201: Advertising
            - 202: Toolbar
            - 203: NetTool
            - 204: Advert PopUp
            - 219: Illegal
            - 223: Internet Tools
            - 227: Offensive
            - 236: Society Education
            - 241: Content Filter
          enum:
            - 21
            - 22
            - 23
            - 24
            - 25
            - 26
            - 31
            - 32
            - 33
            - 34
            - 35
            - 101
            - 102
            - 103
            - 104
            - 105
            - 106
            - 107
            - 108
            - 109
            - 110
            - 111
            - 112
            - 113
            - 114
            - 115
            - 116
            - 117
            - 118
            - 119
            - 120
            - 121
            - 122
            - 123
            - 201
            - 202
            - 203
            - 204
            - 219
            - 223
            - 227
            - 236
            - 241
        number_of_occurrences:
          type: integer
          format: int64
          description: Number of occurrences in antivirus detections.
        security_event_date:
          type: string
          format: date-time
          description: Security event date and time for antivirus, firewall, and device
            control detections.
          example: '2021-07-20T20:27:18.725Z'
        site_name:
          type: string
          description: Site name in antivirus and firewall detections.
        network_activity_type:
          type: integer
          format: int32
          description: |
            Network activity type in firewall detections.
            - 1: IcmpAttack
            - 2: UdpPortScan
            - 3: HeaderLengths
            - 4: UdpFlood
            - 5: TcpFlagsCheck
            - 6: SmartWins
            - 7: IpExplicitPath
            - 8: LandAttack
            - 9: SmartDns
            - 10: IcmpFilterEchoRequest
            - 11: OsDetection
            - 12: SmartDhcp
            - 13: SynFlood
            - 14: SmartArp
            - 15: TcpPortScan
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
            - 10
            - 11
            - 12
            - 13
            - 14
            - 15
        direction:
          format: int32
          description: |
            Direction of firewall blocked connections.
            - 1: Incoming
            - 2: Outgoing
            - 3: Incoming and Outgoing
            - 4: Internal
          enum:
            - 1
            - 2
            - 3
            - 4
        protocol:
          format: int32
          description: |
            Protocol of firewall blocked connections.
            - 1: Tcp
            - 2: Udp
            - 3: TcpUdp
            - 4: Icmp
            - 5: IP
            - 6: All
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        local_endpoint:
          format: string
          description: |
            Firewall blocked connections JSON data for local endpoint: MacAddress, IpAddress, Port, and IpType.
            - 0: Unknown
            - 1: IpV4
            - 2: IpV6
          example: {mac_address: 34:0A:E5:C2:DE:0C, ip_address: 192.168.0.173, port: 58550,
            ip_type: 1}
        remote_endpoint:
          format: string
          description: |
            Firewall blocked connections JSON data for remote endpoint: MacAddress, IpAddress, Port, and IpType.
            - 0: Unknown
            - 1: IpV4
            - 2: IpV6
          example: {mac_address: 47:0A:E5:C2:DE:2F, ip_address: 192.168.0.75, port: 58550,
            ip_type: 1}
        rule_id:
          type: string
          format: uuid
          description: Identifier of rule in firewall blocked connections and in indicators
            of attack detections.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        rule_name:
          type: string
          description: Rule name for firewall blocked connections and for indicators
            of attack detections.
        rule_configuration_id:
          type: string
          format: uuid
          description: Identifier of rule configuration in firewall blocked connections.
          example: 9b7205bc-60e0-45a0-9956-b17b6a8673f6
        rule_obsolete:
          type: boolean
          description: Indicates if rule is obsolete in firewall blocked connections.
          example: false
          nullable: true
        alias:
          type: string
          description: Alias name for device control detections.
        instance_id:
          type: string
          format: uuid
          description: Identifier of instance for device control detections.
          example: 9b7205bc-60e0-45a0-9956-b17b6a8673f6
        type:
          format: int32
          description: |
            Type of device for device control detections.
            - 0: Undefined
            - 1: Removable Storage
            - 2: Image Capture
            - 3: Optical Storage
            - 4: Bluetooth
            - 5: Modem
            - 6: Mobile
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        rule_risk:
          format: int32
          description: |
            Indicates the rule risk for indicators of attack detections.
            - 0: Undefined
            - 1: Critical
            - 2: High
            - 3: Medium
            - 4: Low
            - 1000: Unknown
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 1000
        rule_mitre:
          type: string
          description: Array with JSON pairs of the attack tactic and technique in
            indicators of attack detections.
          example: [{tactic: TA0006, technique: T1003}]
        status:
          format: int32
          description: |
            Indicates the status in indicators of attack detections.
            - 0: Undefined
            - 1: Pending
            - 2: Filed
          enum:
            - 0
            - 1
            - 2
        endpoint_event_date:
          format: date-time
          type: string
          description: Endpoint event date in indicators of attack detections.
          example: '2021-07-20T20:27:18.725Z'
        filed_date:
          format: date-time
          type: string
          description: Filed date in indicators of attack detections.
          example: '2021-07-20T20:27:18.725Z'
        since_until_filed:
          type: string
          description: Time since the filed date in indicators of attack detections.
          example: 8.07:06:05 specifies 8 days, 7 hours, 6 minutes, and 5 seconds.
        count:
          type: integer
          format: int32
          description: Number of occurrences in indicators of attack detections.
        custom_group_folder_id:
          type: string
          format: uuid
          description: Identifier of the custom group folder assigned.
          example: 1b7205bc-60e0-45a0-9956-b17b6a8673f6
        custom_group_folder_info:
          description: Array of folders that represents the path where the device
            is located in the console.
          type: array
          items:
            $ref: '#/components/schemas/custom_group_folder_info_data'
        network_attack:
          type: string
          description: Network attack name.
        local_ip_address:
          type: string
          description: Local IP address in network attack detections.
          example: 192.168.1.1
        remote_ip_address:
          type: string
          description: Remote IP address in network attack detections.
          example: 192.168.10.1

    risk_assessment_detected_risks_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/risk_assessment_detected_risks_result'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    risk_assessment_detected_risks_result:
      type: object
      properties:
        risk_factor:
          type: integer
          format: int32
          description: |
            Identifier of the risk.
            - 10: Protection with error
            - 20: Outdated protection
            - 30: Outdated knowledge
            - 40: Knowledge communication status
            - 50: Uninstallation without protection
            - 60: Anti tampering disabled
            - 70: Antivirus disabled        
            - 80: Audit working mode
            - 90: Hardening working mode
            - 100: Audit working mode for linux
            - 110: AntiExploits audit working mode
            - 120: Detect phishing disabled        
            - 130: Web antivirus disabled
            - 140: Antivirus exclusions        
            - 150: Indicators of attack
            - 160: Pending critical patches
            - 170: Audit mode enabled
            - 180: Network attack protection disabled or in 'Audit' mode
          enum:
            - 10
            - 20
            - 30
            - 40
            - 50
            - 60
            - 70
            - 80
            - 90
            - 100
            - 110
            - 120
            - 130
            - 140
            - 150
            - 160
            - 170
            - 180
        risk_severity:
          type: integer
          format: int32
          description: |
            Assigned risk level.
            - 0: Undefined
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk
            - 50: Based on indicators of attack risks
          enum:
            - 0
            - 20
            - 30
            - 40
            - 50
        total_active_devices_counter:
          type: integer
          format: int64
          description: Number of devices where the risk was detected.
        total_without_risk:
          type: integer
          format: int64
          description: Number of devices where the risk was not detected.
        total_not_applicable_by_platform:
          type: integer
          format: int64
          description: Number of devices where the risk was not evaluated because
            it is not compatible with the type of device.
        total_not_evaluated_on_device:
          type: integer
          format: int64
          description: Number of devices where the risk was not evaluated because
            you did not enable it for detection.

    risk_assessment_devices_risk_result_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/risk_assessment_devices_risk_result'
        total_items:
          type: integer
          format: int32
          description: Optionally, if Count parameter is provided, we return here
            the total number of items
          nullable: true

    risk_assessment_devices_risk_result:
      type: object
      properties:
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_10
        device_id:
          format: uuid
          type: string
          description: Identifier for the device.
          example: 123456d8-910f-4f5a-a7ad-e2480d5ad155
        last_connection_date:
          format: date-time
          type: string
          description: Date and time of the last connection of the device.
          example: '2022-10-14T12:00:00Z'
        device_risk_severity:
          type: integer
          format: int64
          description: |
            Risk level associated with the device.
            - 0: Undefined
            - 5: Without risk
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk
          enum:
            - 0
            - 5
            - 20
            - 30
            - 40
        risk_status_counters:
          $ref: '#/components/schemas/risk_status_counters_type'
    risk_status_counters_type:
      type: object
      properties:
        total_critical_risk:
          type: integer
          format: int64
          description: Number of critical-level risks found on the device.
        total_high_risk:
          type: integer
          format: int64
          description: Number of high-level risks found on the device.
        total_medium_risk:
          type: integer
          format: int64
          description: Number of medium-level risks found on the device.
        total_without_risk:
          type: integer
          format: int64
          description: Number of risks not found on the device.
        total_not_applicable_by_platform:
          type: integer
          format: int64
          description: Number of devices not compatible with operating system or type
            of device.
        total_not_evaluated_on_device:
          type: integer
          format: int64
          description: Number of risk not evaluated on the device because they were
            not enabled for detection.

    risk_statistics_by_date_result:
      type: object
      properties:
        key:
          $ref: '#/components/schemas/risk_statistics_by_date_key'
        value:
          type: integer
          format: int64
          description: Number of devices found for the specified key.

    risk_statistics_by_date_key:
      type: object
      properties:
        date:
          format: date-time
          type: string
          description: Date and time of the overview.
          example: '2022-10-22T11:00:00Z'
        device_risk_severity:
          type: integer
          format: int32
          description: |
            Risk level associated with the device.
            - 0: Undefined
            - 5: Without risk
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk  

    company_risk_summary_counters_result:
      type: object
      properties:
        without_risk:
          type: integer
          format: int32
          description: Total number of devices with no risk.
        medium_risk:
          type: integer
          format: int32
          description: Total number of devices with medium risk.
        high_risk:
          type: integer
          format: int32
          description: Total number of devices with high risk.
        critical_risk:
          type: integer
          format: int32
          description: Total number of devices with critical risk.

    risk_assessment_configuration_result:
      type: object
      properties:
        factor:
          type: integer
          format: int32
          description: |
            Risk type.
            - 10: Protection with error
            - 20: Outdated protection
            - 30: Outdated knowledge
            - 40: Knowledge communication status
            - 50: Uninstallation without protection
            - 60: Anti tampering disabled
            - 70: Antivirus disabled        
            - 80: Audit working mode
            - 90: Hardening working mode
            - 100: Audit working mode for linux
            - 110: AntiExploits audit working mode
            - 120: Detect phishing disabled        
            - 130: Web antivirus disabled
            - 140: Antivirus exclusions        
            - 150: Indicators of attack
            - 160: Pending critical patches
            - 170: Audit mode enabled
            - 180: Network attack protection disabled or in 'Audit' mode

          enum:
            - 10
            - 20
            - 30
            - 40
            - 50
            - 60
            - 70
            - 80
            - 90
            - 100
            - 110
            - 120
            - 130
            - 140
            - 150
            - 160
            - 170
            - 180
        enable:
          type: boolean
          description: Indicates whether the risk is enabled for detection in the
            settings.
          example: true
        severity:
          type: integer
          format: int32
          description: |
            Risk level.
            - 0: Undefined
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk
            - 50: Based on indicators of attack risks      
        recommended_severity:
          type: integer
          format: int32
          description: |
            Risk level recommended by default by WatchGuard.
            - 0: Undefined
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk
            - 50: Based on indicators of attack risks          
        edited_by_user:
          type: boolean
          description: Indicates whether the risk level is the recommended value or
            it was modified by you.
          example: true
        supported:
          type: boolean
          description: Indicates whether the risk is compatible with the type of product
            assigned to the account.
          example: true
        threshold:
          type: integer
          format: int32
          description: |
            The value is null for all risks, except for these risks
              150 — Number of days that the solution checks for IOAs. The default value is 30 days. This value is not shown in the management UI.
              160 — Maximum number of days that can pass before a published patch must be applied. After that period, the risk is detected. 
          example: true

    risk_assessment_configuration_update_input:
      type: object
      properties:
        risk_settings_list:
          type: array
          items:
          $ref: '#/components/schemas/risk_settings_list_input_configuration'
    risk_settings_list_input_configuration:
      type: object
      properties:
        factor:
          type: integer
          format: int32
          description: |
            Risk type.
            - 10: Protection with error
            - 20: Outdated protection
            - 30: Outdated knowledge
            - 40: Knowledge communication status
            - 50: Uninstallation without protection
            - 60: Anti tampering disabled
            - 70: Antivirus disabled        
            - 80: Audit working mode
            - 90: Hardening working mode
            - 100: Audit working mode for linux
            - 110: AntiExploits audit working mode
            - 120: Detect phishing disabled        
            - 130: Web antivirus disabled
            - 140: Antivirus exclusions        
            - 150: Indicators of attack
            - 160: Pending critical patches
            - 170: Audit mode enabled
            - 180: Network attack protection disabled or in 'Audit' mode
          enum:
            - 10
            - 20
            - 30
            - 40
            - 50
            - 60
            - 70
            - 80
            - 90
            - 100
            - 110
            - 120
            - 130
            - 140
            - 150
            - 160
            - 170
            - 180
        enable:
          type: boolean
          description: Indicates whether the risk is enabled for detection in the
            settings.
          example: true
        severity:
          type: integer
          format: int32
          description: |
            Risk level.
            - 0: Undefined
            - 20: Medium risk
            - 30: High risk
            - 40: Critical risk
            - 50: Based on indicators of attack risks      
        edited_by_user:
          type: boolean
          description: Indicates whether the risk level is the recommended value or
            it was modified by you. This value has no effect, but you must include
            it.
          example: true
        supported:
          type: boolean
          description: Indicates whether the risk is compatible with the type of product
            assigned to the account. This value has no effect, but you must include
            it.
          example: true
        threshold:
          type: boolean
          description: |
            This value has no effect for all risks, except for these risks:
              150 — Number of days that the solution checks for IOAs. The default value is 30 days. This value is not shown in the management UI.
              160 — Maximum number of days that can pass before a published patch must be applied. After that period, the risk is detected
          example: true

    risk_assessment_configuration_update_output:
      type: object
      properties:
        processed_ok:
          type: boolean
          description: Indicates whether the configuration update is ok. Otherwise,
            the update could not be performed.

    patch_availability_output_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/patch_availability_output'
        total_items:
          type: integer
          format: int32
          description: Total number of retrieved patches.
          nullable: true

    patch_availability_output:
      type: object
      properties:
        account_id:
          type: string
          format: uuid
          description: Identifier of the account.
          example: cd6c6dd6-b97f-453d-ad81-a5976dc0596c
        site_id:
          type: string
          format: uuid
          description: Identifier of the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        site_name:
          type: string
          description: Name of the site the device belongs to.
          example: AD360
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_6
        device_type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
          enum:
            - 1
            - 2
            - 3
          example: 2
        platform_id:
          type: integer
          format: int32
          description: |
            Device platform.
            - 1: Windows
            - 2: Linux
            - 3: macOS
          enum:
            - 1
            - 2
            - 3
        patch_management_status:
          type: integer
          format: int32
          description: |
            Patch Management functionality status.
            - 0: No protection or No information
            - 1: Enabled
            - 2: Disabled
            - 3: Error
            - 4: Error installing
            - 5: No license
            - 6: Not available
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
        custom_group_folder_id:
          type: string
          format: uuid
          description: Identifier of the custom group folder assigned.
          example: 1b7205bc-60e0-45a0-9956-b17b6a8673f6
        isolation_state:
          type: integer
          format: int32
          description: |
            Isolation state of the device.
            - 0: Not isolated
            - 1: Isolated
            - 2: Applying isolation
            - 3: Removing isolation
          example: 0
          enum:
            - 0
            - 1
            - 2
            - 3
        license_status:
          type: integer
          format: int32
          description: |
            Status of the license.
            - 0: Assigned
            - 1: Not assigned
            - 2: Manual deallocation
            - 3: Auto deallocation
          example: 0
          enum:
            - 0
            - 1
            - 2
            - 3
        patch_id:
          type: string
          format: uuid
          description: Identifier of the patch.
          example: 337324d8-194f-4f5a-a7ad-e2480d5ad1b4
        patch_name:
          type: string
          description: Name of the patch.
          example: Windows 10
        program_name:
          type: string
          description: Name of the program associated with the patch.
          example: Windows 10
        program_version:
          type: string
          description: Version of the program associated with the patch.
          example: 10.1.1
        patch_release_date:
          type: string
          format: date-time
          description: Patch release date.
          example: '2023-05-15T12:00:00Z'
        patch_criticality:
          type: integer
          format: int32
          description: |
            Patch severity level.
            - 101: Other patches (non-security-related)
            - 201: Critical (security-related)
            - 202: Important (security-related)
            - 203: Moderate (security-related)
            - 204: Low (security-related)
            - 205: Unspecified (security-related)
            - 301: Service Pack
          enum:
            - 101
            - 201
            - 202
            - 203
            - 204
            - 205
            - 301
        patch_type:
          type: integer
          format: int32
          description: |
            Patch type.
            - 0: Non-operating system patch
            - 1: Operating system patch
          enum:
            - 0
            - 1
        is_downloadable:
          type: boolean
          description: |
            Indicates whether the patch is downloadable. 
            - True: Patch Management can download the patch automatically 
            - False: You must install the patch manually, either by adding it to a repository or manually installing it on the target device
          example: true
        is_allowed_manual_installation:
          type: boolean
          description: |
            Indicates whether manual patch installation is allowed. 
            - True: Patch Management cannot download the patch automatically, but enables you to add it to a repository 
            - False: Patch Management does not enable you to add the patch to a repository. You must install the patch manually on the target device
          example: false
        automatic_reboot:
          type: boolean
          description: Indicates whether the patch can perform an automatic reboot.
          example: true
        download_url:
          type: string
          description: Manual patch download url (if available).
          example: 
            https://download.microsoft.com/download/1/6/D/16DB3B7D-57D0-4E1A-BF24-22BBC4EDBC6A/WSUS-KB2938066-amd64.exe
        local_filename:
          type: string
          description: Name of the local patch file (if available).
          example: WSUS-KB2938066-amd64.exe
        patch_installation_availability:
          type: integer
          format: int32
          description: |
            Indicates the patch availability for installation.
            - 1: Pending installation
            - 2: Pending installation (you must add the patch manually to the patch repository)
            - 3: Pending installation (the patch has already been added to the patch repository)
            - 4: Pending restart to complete installation
          enum:
            - 1
            - 2
            - 3
            - 4
        patch_cve_ids:
          type: array
          items:
            type: string
            description: List of CVEs associated with the patch (if available).
        vendor_id:
          type: integer
          format: int32
          description: Numeric identifier of the vendor associated with the patch
            (if available).
          nullable: true
        family_id:
          type: integer
          format: int32
          description: Numeric identifier of the program family associated with the
            patch (if available).
          nullable: true
        version_id:
          type: integer
          format: int32
          description: Numeric identifier of the program version associated with the
            patch (if available).
          nullable: true
        vendor_name:
          type: string
          description: Name of the vendor associated with the patch.
          example: Microsoft
        family_name:
          type: string
          description: Name of the program family associated with the patch.
          example: Windows

    software_inventory_output_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/software_inventory_output'
        total_items:
          type: integer
          format: int32
          description: Total number of retrieved software programs
          nullable: true

    software_inventory_output:
      type: object
      properties:
        site_id:
          type: string
          format: uuid
          description: Identifier of the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        site_name:
          type: string
          description: Name of the site the device belongs to.
          example: AD360
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_10
        description:
          type: string
          description: Name of device description.
        device_type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile device
          enum:
            - 1
            - 2
            - 3
            - 4
          example: 2
        platform_id:
          type: integer
          format: int32
          description: |
            Device platform.
            - 1: Windows
            - 2: Linux
            - 3: macOS
            - 4: Android
            - 5: iOS
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        ip_address:
          type: string
          description: IP address of the device.
          example: 172.25.1.10
        domain:
          type: string
          description: Domain of device.
        operating_system:
          type: string
          description: Name of the operating system installed on the device.
          example: Microsoft Windows 10
        custom_group_folder_id:
          type: string
          format: uuid
          description: Identifier of the custom group folder assigned.
          example: 1b7205bc-60e0-45a0-9956-b17b6a8673f6
        name:
          type: string
          description: Name of the software installed on the device.
          example: Windows 11
        publisher:
          type: string
          description: Software vendor name.
          example: Microsoft
        version:
          type: string
          description: Version of the software installed on the device.
          example: 11.1
        size:
          type: integer
          format: int64
          description: Size of the software installed on the device (if available).
          nullable: true
        installation_date:
          type: string
          format: date-time
          description: Software installation date (if available).
          example: '2023-06-25T12:00:00Z'
          nullable: true
        is_patch:
          type: boolean
          description: Indicates whether the software is a patch.
          example: true

    hardware_inventory_output:
      type: object
      properties:
        bios:
          type: array
          items:
            $ref: '#/components/schemas/bios_details'
    bios_details:
      type: object
      properties:
        name:
          type: string
          description: BIOS name.
          example: L01 v02.33
        manufacturer:
          type: string
          description: BIOS vendor name.
          example: Hewlett-Packard
        version:
          type: string
          description: BIOS software version.
          example: American Megatrends - 4028E
        serial_number:
          type: string
          description: BIOS serial number.
          example: CZC4462KD8
        release_date:
          format: date-time
          type: string
          description: BIOS release date (if available).
          example: '2023-06-15T12:00:00Z'
          nullable: true

    tasks_output_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/tasks_output'
        total_items:
          type: integer
          format: int32
          description: Total number of retrieved tasks.
          nullable: true

    tasks_output:
      type: object
      properties:
        account_id:
          type: string
          format: uuid
          description: Identifier of the account.
          example: cd6c6dd6-b97f-453d-ad81-a5976dc0596a
        id:
          type: string
          format: uuid
          description: Identifier of the task.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f1
        name:
          type: string
          description: Name of the task.
          example: Task name sample
        description:
          type: string
          description: Description of the task.
          example: Task description sample
        type:
          type: integer
          format: int32
          description: |
            Type of task.
            - 1: Antimalware scan task
            - 2: Malware disinfection task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC search task
          enum:
            - 1
            - 2
            - 6
            - 7
            - 10
        status:
          $ref: '#/components/schemas/task_status'
        schedule:
          $ref: '#/components/schemas/task_schedule'
        can_be_deleted:
          type: boolean
          description: Indicates whether the task can be deleted.
          example: true
        can_be_copied:
          type: boolean
          description: Indicates whether the task can be copied.
          example: true
        can_access_to_detailed_view:
          type: boolean
          description: Indicates whether the task can access a detailed view.
          example: true
        scope_type:
          type: integer
          format: int32
          description: |
            Indicates the scope of the task.
            - 0: Invalid
            - 1: Customer
            - 2: Partner
          enum:
            - 0
            - 1
            - 2

    task_status:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates whether the task is enabled or not.
          example: true
        delivery_state:
          type: integer
          format: int32
          description: |
            Delivery status of the task.
            - 0: Pending
            - 1: Ready for delivery
            - 2: Published
            - 3: Cancelled
            - 4: Finished
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
        last_job_date:
          type: string
          format: date-time
          description: Date of the last update of a repetition associated with the
            task.
          example: '2023-06-11T12:00:00Z'
          nullable: true

    task_schedule:
      type: object
      properties:
        type:
          type: integer
          format: int32
          description: |
            Type of schedule.
            - 1: Now
            - 2: One-time
            - 3: Recurring
          enum:
            - 1
            - 2
            - 3
        start_date:
          type: string
          format: date-time
          description: Start date of the schedule.
          example: '2023-06-11T12:00:00Z'
        is_local_time:
          type: boolean
          description: Indicates whether the date is local.
          example: true
        recurrence:
          $ref: '#/components/schemas/task_recurrence_pattern'
        execution_timeout:
          type: string
          description: How long the task can run from the time it starts.
          example: 1.07:06:05 specifies 1 day, 7 hours, 6 minutes, and 5 seconds.
        execution_window:
          type: integer
          format: int32
          description: |
            Execution window for the scheduled task.
            - 0: Only at specified time
            - 1: As soon as possible
          enum:
            - 0
            - 1
          nullable: true
        execution_window_expiration:
          type: string
          description: Maximum wait time for the task to start if the target device
            is not available.
          example: 3.07:06:05 specifies 3 day, 7 hours, 6 minutes, and 5 seconds.
        publish_date:
          type: string
          format: date-time
          description: Publication date for the scheduled task.
          example: '2023-06-21T11:00:00Z'
          nullable: true

    task_recurrence_pattern:
      type: object
      properties:
        type:
          type: integer
          format: int32
          description: |
            Type of recurrence.
            - 1: Daily
            - 2: Weekly
            - 3: Monthly
            - 4: Yearly
            - 5: Hourly                
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
        frequency:
          type: integer
          format: int32
          description: Number of executions of the scheduled execution.
          nullable: true
        days_of_week:
          type: array
          items:
            type: integer
            format: int32
            description: List of days of the week the task is scheduled for. 0=Sunday,
              1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday.
        week_of_month:
          type: integer
          format: int32
          description: |
            Week in the month the task is scheduled for (optional).
            - 1: First
            - 2: Second
            - 3: Third
            - 4: Fourth
            - 5: Last                
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
          nullable: true
        date_of_month:
          type: array
          items:
            type: integer
            format: int32
            description: Day of the month the task is scheduled for. 1=Day one, 2=Day
              two..., 30=Day thirty, 31=Day thirty one.
            nullable: true
        month_of_year:
          type: array
          items:
            type: integer
            format: int32
            description: Month of the year the task is scheduled for. 0=Every month,1=January...,12=December.
            nullable: true

    tasks_jobs_output:
      type: object
      properties:
        id:
          type: string
          description: Identifier of the task repetition.
          example: 20230615000000
        date:
          type: string
          format: date-time
          description: Task repetition date.
          example: '2023-06-11T12:00:00Z'
        affected_items:
          type: integer
          format: int64
          description: Number of items affected by the repeated task.
        is_local_time:
          type: boolean
          description: Indicates whether the repetition date is local.
          example: true

    tasks_jobs_status_output_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/tasks_jobs_status_output'
        total_items:
          type: integer
          format: int32
          description: Total number of retrieved repetitions
          nullable: true

    tasks_jobs_status_output:
      type: object
      properties:
        site_id:
          type: string
          format: uuid
          description: Identifier of the site.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f6
        site_name:
          type: string
          description: Name of the site the device belongs to.
          example: AD360
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_10
        device_type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile device                
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
          example: 2
        ip_address:
          type: string
          description: IP address of the device.
          example: 172.15.1.1
        status:
          type: integer
          format: int32
          description: |
            Status of the task repetition.
            - 0: Pending
            - 1: In progress
            - 2: Succeeded
            - 3: Failed
            - 4: Expired                
            - 5: Cancelled
            - 6: Cancelling
            - 7: Timeout                
          enum:
            - 0
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
        affected_items:
          type: integer
          format: int64
          description: Number of items affected by the repeated task.
        start_time:
          type: string
          format: date-time
          description: Start date for the repeated task.
          example: '2023-06-15T12:00:00Z'
          nullable: true
        finish_time:
          type: string
          format: date-time
          description: End date for the repeated task.
          example: '2023-06-16T18:00:00Z'
          nullable: true

    tasks_jobs_results_output_find_response:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/tasks_jobs_results_output'
        total_items:
          type: integer
          format: int32
          description: The count is not supported. Currently a null is always returned
            in this field
          nullable: true

    tasks_jobs_results_output:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier of the device.
          example: 287324d8-194f-4f5a-a7ad-e2480d5ad1b2
        host_name:
          type: string
          description: Host name of the device.
          example: WIN_SERVER_10
        device_type:
          type: integer
          format: int32
          description: |
            Type of device.
            - 1: Workstation
            - 2: Laptop
            - 3: Server
            - 4: Mobile device                
          enum:
            - 1
            - 2
            - 3
            - 4
          example: 2
        ip_address:
          type: string
          description: IP address of the device.
          example: 172.20.10.10
        date:
          type: string
          format: date-time
          description: Task results date.
          example: '2023-06-25T12:00:00Z'
          nullable: true
        malware_info:
          $ref: '#/components/schemas/task_jobs_results_malware_info'
        patch_info:
          $ref: '#/components/schemas/task_jobs_results_patch_info'
        ioc_info:
          $ref: '#/components/schemas/task_jobs_results_ioc_info'
    task_jobs_results_malware_info:
      type: object
      description: Additional info for antimalware scan task and malware disinfection
        task.
      nullable: true
      properties:
        malware_category:
          type: integer
          format: int32
          description: |
            Malware category in antivirus detections.
            - 1: Virus
            - 2: Spyware
            - 3: HackingPpnd
            - 4: Phishing
            - 5: Suspicious
            - 6: BlockedOperations
            - 7: TrackingCookies                
            - 8: MalwareUrl
            - 9: Others                
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8
            - 9
          example: 4
        path:
          type: string
          description: Path where the malware was detected.
        number_of_occurrences:
          type: integer
          format: int64
          description: Number of occurrences in antivirus detections.

    task_jobs_results_patch_info:
      type: object
      description: Additional info for patch installation task and patch uninstallation
        task.
      nullable: true
      properties:
        patch_name:
          type: string
          description: Name of the patch.
        product_name:
          type: string
          description: Name of the product associated with the patch.
        product_version:
          type: string
          description: Version of the product associated with the patch
        criticality:
          type: integer
          format: int32
          description: |
            Patch severity.
            - 101: Non security other patches
            - 201: Security critical
            - 202: Security important
            - 203: Security moderate
            - 204: Security low
            - 205: Security not classified
            - 301: Service Pack
          enum:
            - 101
            - 201
            - 202
            - 203
            - 204
            - 205
            - 301
        installation_date:
          type: string
          format: date-time
          description: Date of installation for patch.
          example: '2023-06-25T12:00:00Z'
        result:
          type: integer
          format: int32
          description: |
            Result of the operation on the patch.
            - 1: Installed
            - 2: Reboot pending
            - 3: Download error
            - 4: Installation error
            - 5: Already installed
            - 6: Uninstalled
            - 7: Uninstallation error
            - 8: Manual download error
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
            - 8

    task_jobs_results_ioc_info:
      type: object
      description: Additional info for IOC definition scan task.
      nullable: true
      properties:
        ioc_name:
          type: string
          description: Name of the IOC associated with the result of the task.
        ioc_description:
          type: string
          description: Description of the IOC associated with the result of the task.

    taskdetails_output:
      type: object
      properties:
        account_id:
          type: string
          format: uuid
          description: Identifier of the account.
          example: ad6c6dd6-b97f-453d-ad81-a5976dc0596b
        id:
          type: string
          format: uuid
          description: Identifier of the task.
          example: 8b7205bc-60e0-45a0-9956-b17b6a8673f1
        name:
          type: string
          description: Name of the task.
          example: Task name sample
        description:
          type: string
          description: Description of the task.
          example: Task description sample
        type:
          type: integer
          format: int32
          description: |
            Type of task.
            - 1: Antimalware scan task
            - 2: Malware disinfection task
            - 6: Patch installation task
            - 7: Patch uninstallation task
            - 10: IOC search task
          enum:
            - 1
            - 2
            - 6
            - 7
            - 10
        status:
          $ref: '#/components/schemas/task_status'
        schedule:
          $ref: '#/components/schemas/task_schedule'
        scope_type:
          type: integer
          format: int32
          description: |
            Indicates the scope of the task.
            - 0: Invalid
            - 1: Customer
            - 2: Partner
          enum:
            - 0
            - 1
            - 2
        can_be_deleted:
          type: boolean
          description: Indicates whether the task can be deleted.
          example: true
        can_be_copied:
          type: boolean
          description: Indicates whether the task can be copied.
          example: true
        can_access_to_detailed_view:
          type: boolean
          description: Indicates whether the task can access a detailed view.
          example: true
        antimalware_scan_task_action:
          $ref: '#/components/schemas/task_antimalware_scan_action'
        patch_installation_task_action:
          $ref: '#/components/schemas/task_patch_installation_action'
        patch_uninstallation_task_action:
          $ref: '#/components/schemas/task_patch_uninstallation_action'
        ioc_definition_scan_task_action:
          $ref: '#/components/schemas/task_ioc_definition_scan_action'
        recipients:
          $ref: '#/components/schemas/task_recipients'
    task_antimalware_scan_action:
      type: object
      description: Additional information for antimalware scan tasks.
      nullable: true
      properties:
        targets:
          $ref: '#/components/schemas/taskdetails_scan_target'
        malware_to_detect:
          $ref: '#/components/schemas/taskdetails_malware_to_detect'
        exclusions:
          $ref: '#/components/schemas/taskdetails_exclusions'
    taskdetails_scan_target:
      type: object
      properties:
        type:
          type: integer
          format: int32
          description: |
            Scope of the scan task.
            - 0: Entire computer
            - 1: Critical areas
            - 2: Specified items
          enum:
            - 0
            - 1
            - 2
          example: 0
        items:
          type: array
          description: List of specific locations or items to scan. All folders and
            files in the specified locations are scanned. Works only when scan_scope
            is 2.
          example: c:\downloads
          items:
            type: string
        compressed_files:
          type: boolean
          description: Indicates whether to scan compressed files. This decompresses
            compressed files and scans their contents.
          example: true

    taskdetails_malware_to_detect:
      type: object
      properties:
        viruses:
          type: boolean
          description: Indicates whether to scan for viruses.
          example: true
        hacking_tools_and_pups:
          type: boolean
          description: Indicates whether to scan for hacking tools and PUPs.
          example: true
        suspicious:
          type: boolean
          description: Indicates whether to scan for suspicious items.
          example: true

    taskdetails_exclusions:
      type: object
      properties:
        apply_exclusions_of_resident_protection:
          type: boolean
          description: Indicates whether the permanent protection excludes items from
            the scan.
          example: true
        extensions:
          type: array
          description: List of file extensions to exclude from the scan.
          example: .bat
          items:
            type: string
        folders:
          type: array
          description: List of folders to exclude from the scan.
          example: "c:\temp"
          items:
            type: string
        files:
          type: array
          description: List of file names to exclude from the scan.
          example: virus.exe
          items:
            type: string

    task_patch_installation_action:
      type: object
      description: Additional info for patch installation task.
      nullable: true
      properties:
        platforms:
          type: array
          description: List of platforms for installing patches (1=Windows, 2=macOS,
            3=Linux).
          items:
            type: integer
            format: int32
        patch_installation_configuration:
          $ref: '#/components/schemas/taskdetails_patch_installation_configuration'
    task_patch_uninstallation_action:
      type: object
      description: Additional information for patch uninstallation tasks.
      nullable: true
      properties:
        patch_uninstallation_configuration:
          $ref: '#/components/schemas/task_patch_uninstallation_configuration'
    task_ioc_definition_scan_action:
      type: object
      description: Additional information for IOC search tasks.
      nullable: true
      properties:
        ioc_definition_scan_task_configuration:
          $ref: '#/components/schemas/task_ioc_definition_scan_task_configuration'
    taskdetails_patch_installation_configuration:
      type: object
      properties:
        patches_to_install:
          type: array
          items:
            format: uuid
            type: string
            description: List of patch identifiers associated with the task.
        criticality_configuration:
          $ref: '#/components/schemas/taskdetails_criticality_configuration'
        vendors_configuration:
          $ref: '#/components/schemas/taskdetails_vendors_configuration'
        vendors_configuration_for_linux:
          $ref: '#/components/schemas/taskdetails_cross_platform_patch_vendors_configuration'
        vendors_configuration_for_mac:
          $ref: '#/components/schemas/taskdetails_cross_platform_patch_vendors_configuration'
    taskdetails_criticality_configuration:
      type: object
      properties:
        update_security_patches:
          $ref: '#/components/schemas/task_patch_management_criticality_configuration'
        update_non_security_patches:
          $ref: '#/components/schemas/task_patch_management_criticality_configuration'
        update_service_packs:
          type: boolean
          description: Indicates whether to scan for Service Packs.
          example: true

    taskdetails_vendors_configuration:
      type: object
      properties:
        use_selected_vendors_to_apply_patches:
          type: boolean
          description: Indicates whether you want to use the vendor/family/product
            configuration selected for Windows platforms to apply the patches in the
            task.
          example: true
        selected_vendors_ids:
          type: array
          items:
            type: integer
            format: int32
            description: List of vendor identifiers associated with the task.
        selected_vendor_families_ids:
          type: array
          items:
            type: integer
            format: int32
            description: List of software family identifiers associated with the task.
        selected_vendor_versions_ids:
          type: array
          items:
            type: integer
            format: int32
            description: List of software version identifiers associated with the
              task.

    taskdetails_cross_platform_patch_vendors_configuration:
      type: object
      properties:
        use_selected_vendors_to_apply_patches:
          type: boolean
          description: Indicates whether you want to use the vendor/family/product
            configuration selected for Linux and macOS platforms to apply the patches
            in the task.
          example: true
        install_patches_requiring_forced_reboot:
          type: boolean
          description: Indicates whether you want to install patches that require
            a forced reboot of the target device. Currently, this field applies to
            macOS computers only.
          example: true
        selected_vendor_names:
          type: array
          items:
            type: string
            description: List of vendor name identifiers to use in the task.
        selected_vendor_family_names:
          type: array
          items:
            type: string
            description: List of software family name identifiers to use in the task.

    task_patch_management_criticality_configuration:
      type: object
      properties:
        critical:
          type: boolean
          description: Indicates whether the solution scans for critical severity
            patches.
          example: true
        important:
          type: boolean
          description: Indicates whether the solution scans for important severity
            patches.
          example: true
        moderate:
          type: boolean
          description: Indicates whether the solution scans for moderate severity
            patches.
          example: true
        low:
          type: boolean
          description: Indicates whether the solution scans for low severity patches.
          example: true
        not_classified:
          type: boolean
          description: Indicates whether the solution scans for unspecified severity
            patches.
          example: true

    task_patch_uninstallation_configuration:
      type: object
      properties:
        patches_to_uninstall:
          type: array
          items:
            type: string
            format: uuid
            description: List of patch identifiers associated with the task.

    task_ioc_definition_scan_task_configuration:
      type: object
      properties:
        ioc_definition_ids:
          type: array
          items:
            type: string
            format: uuid
            description: List of IOCs associated with the task.
        details:
          type: array
          items:
            $ref: '#/components/schemas/task_ioc_definition_details'
        stix_bundle:
          type: string
          description: STIX content associated with the IOC search task.
          example: <?xml 
            version=\"1.0\"?><bundle><type>bundle</type><id>bundle--5928e8d2-ebac-493d-b912-b24221ecdf28</id><objects></objects></bundle>

    task_ioc_definition_details:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Identifier of IOC.
          example: 6b7205bc-60e0-45a0-9956-b17b6a8673f3
        name:
          type: string
          description: Name of the IOC.
          example: IOC name sample

    network_attack_aggregated_counters:
      type: object
      properties:
        total_alerts:
          type: integer
          format: int32
          description: Number of alerts.
          nullable: true
        total_affected_devices:
          type: integer
          format: int32
          description: Number of affected devices.
          nullable: true

    task_recipients:
      type: object
      properties:
        devices:
          type: array
          description: Specifies the task recipients (devices).
          items:
            $ref: '#/components/schemas/task_recipients_devices'
          nullable: true
        custom_group_folders:
          type: array
          description: Specifies task recipients of the custom group type.
          items:
            $ref: '#/components/schemas/task_recipients_custom_group_folders'
          nullable: true
        device_types:
          type: array
          description: Specifies task recipients based on the type of device where
            the task is run.
          items:
            $ref: '#/components/schemas/task_recipients_device_types'
          nullable: true

    task_recipients_devices:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier for device associated with task.
          example: 5b7205bc-60e0-45a0-9956-b17b6a8673f1

    task_recipients_custom_group_folders:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier for custom group folder associated with task.
          example: 6b7205bc-60e0-45a0-9956-b17b6a8673f2

    task_recipients_device_types:
      type: object
      properties:
        device_id:
          type: string
          format: uuid
          description: Identifier for device type associated with task.
          example: 7b7205bc-60e0-45a0-9956-b17b6a8673f3

    custom_group_folder_info_data:
      type: object
      properties:
        name:
          description: Name of the folder.
          type: string
          example: Root
        type:
          type: integer
          format: int32
          description: |
            Type of folder.
            - 1: Root folder
            - 2: Custom folder
            - 3: Active Directory root folder
            - 4: Site folder
            - 5: Domain controller folder
            - 6: Active Directory folder                 
            - 7: IP address range folder
          enum:
            - 1
            - 2
            - 3
            - 4
            - 5
            - 6
            - 7
          example: 1
        is_translatable:
          type: boolean
          description: |
            Indicates whether you can rename the folder. 
            - True: The system assigns the folder name automatically. The name depends on the selected language. 
            - False: The administrator assigns and can change the folder name.
          example: false

  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: WatchGuard-API-Key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Additional documentation
  url: https://www.watchguard.com/help/docs/api/Content/en-US/home.html
servers:
  - url: https://api.usa.cloud.watchguard.com/rest/aether-endpoint-security/aether-mgmt
    description: Prod USA Region
  - url: https://api.deu.cloud.watchguard.com/rest/aether-endpoint-security/aether-mgmt
    description: Prod DEU region
  - url: https://api.jpn.cloud.watchguard.com/rest/aether-endpoint-security/aether-mgmt
    description: Prod JPN region
security:
  - ApiKeyAuth: []
    BearerAuth: []
